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