在C语言中使用scanf()语句时出现的常见错误是什么?

问题

scanf()C语言中使用函数读取字符串和数值数据时发生的常见错误

解决方案

该scanf() 函数用于从 C 语言的 stdin 中读取格式化输入。它返回写入其中的整数个字符,否则返回负值。

通常,在scanf()从用户读取整数后的字符串值时,我们会经常出现错误。

示例

以下是读取卷号(整数值)和学生姓名的 C 程序 -

#include <stdio.h>

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;

}

输出结果

在上面的例子中,roll no: was read by the compiler, 之后编译器无法读取 name 并移动到下一条语句 printf("Roll Number is: %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

以上是 在C语言中使用scanf()语句时出现的常见错误是什么? 的全部内容, 来源链接: utcz.com/z/335611.html

回到顶部