C十二:%*d
int i=1,j=2,k=3;printf("%d,%*d,%d\n",i,j,k,i); //printf中的%*d的意思是輸出*個寬度的%d(整形)。scanf("%*d%d",&i,&j,&k);printf("i=%d, j=%d, k=%d\n",i,j,k); // 讀入一個整數,但是并不賦給任何變量。只是單純的從緩沖區中讀出, 類似的還有%*c(吃掉回車符)return 0;
?
C語言中%*s,%*c 是什么意思(還有%*.*s)
在 scanf 和 printf 里效果是不一樣的。
在printf,動態控制顯示格式用的
printf("%*s",5,"123");
執行一下,這條語句,輸出
##123
(#代表一個空格)
類似于%5d 這樣的狀況
這里*被常量5代替,用于控制最小字符寬度,主要是針對,最小字符寬度未知的情況,當然*可以對應整型變量
在 scanf 里的意思,表示忽略要讀的項。比如 %*d 就是讀一個 %d 該讀的東西,但不賦值給任何變量。
scanf("%*d?%*d?%d",?&n);
如果輸入2004?2005?2006
那么n=2006
?
總結
- 上一篇: 数据的机器表示六
- 下一篇: C十三:strcmp函数,比价字符串