scanf()中格式"%*"
的實際用法是什麼?如果這種格式存在,它必須有一些目的。下面的程序給出了奇怪的輸出。什麼是scanf(「%* s」)和scanf(「%* d」)格式標識符?
#include<stdio.h>
int main()
{
int i;
char str[1024];
printf("Enter text: ");
scanf("%*s", &str);
printf("%s\n", str);
printf("Enter interger: ");
scanf("%*d", &i);
printf("%d\n", i);
return 0;
}
輸出:
[email protected]:~$ gcc -Wall -pedantic d.c
d.c: In function ‘main’:
d.c:8: warning: too many arguments for format
d.c:12: warning: too many arguments for format
[email protected]:~$ ./a.out
Enter text: manav
D
Enter interger: 12345
372
[email protected]:~$
馬納夫,根據你最近的一些問題,你會很好地閱讀一本教科書。 – 2010-01-28 15:20:48
@Alok:好的,我已經閱讀了一本教科書,但沒有進入這些細節。大多數教科書不提供適合實時使用的示例。我認爲,最好的做法是閱讀「C編譯器設計」教科書。 – 2010-01-28 15:29:40
@Manav:你絕對不需要「C編譯器設計」一書。你嘗試過K&R嗎? – 2010-01-28 15:33:10