在C语言中使用scanf()语句时出现的常见错误是什么?
问题
scanf()C语言中使用函数读取字符串和数值数据时发生的常见错误
解决方案
该scanf()函数用于从C语言的stdin中读取格式化输入。它返回写入其中的整数个字符,否则返回负值。
通常,在scanf()从用户读取整数后的字符串值时,我们会经常出现错误。
示例
以下是读取卷号(整数值)和学生姓名的C程序-
#include输出结果struct student { char name[10]; int roll; } s; int main(){ printf("Enter information of students:\n"); printf("\nEnter roll number: "); scanf("%d", &s.roll); printf("\nEnter name: "); gets(s.name); printf("\nDisplaying Information of students:\n"); printf("\nRoll number: %d\t", s.roll); printf("\nname:%s\t", s.name); return 0; }
在上面的例子中,rollno:wasreadbythecompiler,之后编译器无法读取name并移动到下一条语句printf("RollNumberis:%d\t,s.roll);
and the output is "Roll number: 3 name: "
这是scanf()在C语言中使用函数读取字符串和数字数据时出现的常见错误。
Enter information of students: Enter roll number: 3 Enter name: //error Displaying Information of students: Roll number: 3 name: //error