"%*"
scanf()のフォーマットの実際の使用法は何ですか。この形式が存在する場合、その背後に何らかの目的がなければなりません。次のプログラムは奇妙な出力を出します。
#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;
}
出力:
manav@workstation:~$ 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
manav@manav-workstation:~$ ./a.out
Enter text: manav
D
Enter interger: 12345
372
manav@workstation:~$