Cách sử dụng thực tế của các định dạng "%*"
trong scanf(). Nếu định dạng này tồn tại, phải có một số mục đích đằng sau nó. Chương trình sau đây cho đầu ra kỳ lạ.Số nhận dạng định dạng scanf ("% * s") và scanf ("% * d") là gì?
#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;
}
Output:
[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]:~$
Manav, dựa trên một số câu hỏi gần đây của bạn, bạn sẽ làm tốt để đọc một cuốn sách văn bản. –
@ Alok: Vâng, tôi đã đọc một cuốn sách văn bản nhưng chưa đi vào chi tiết như vậy. Hầu hết sách giáo khoa không cung cấp các ví dụ về việc sử dụng thời gian thực. Tôi nghĩ, điều tốt nhất để làm là đọc cuốn sách văn bản "The C Compiler Design". –
@Manav: Bạn chắc chắn không cần một cuốn "C Compiler Design". Bạn đã thử K & R chưa? –