【发布时间】:2013-10-17 10:19:11
【问题描述】:
我想制作一个程序,以 Roll No 和 Full name 作为输入并简单地显示它 我的代码是 .此代码通过获取函数跳过扫描 n 的值。为什么会出现这个错误以及如何克服这个错误?
#include<stdio.h>
#include<conio.h>
void main()
{
int r;
char n[30];
printf("enter your roll no");
scanf("%d",&r);
printf("enter your full name");
gets(n);
printf("roll no is %d ",r);
printf("name is %s ",n);
getch();
}
当下面的代码扫描第一个获取值并跳过第二个时。
#include<stdio.h>
#include<conio.h>
void main()
{
int r;
char n[30], f[30];
printf("enter your roll no");
scanf("%d",&r);
printf("enter your full name");
gets(n);
printf("enter your full name of your father ");
gets(f);
printf("roll no is %d ",r);
printf("name is %s ",n);
printf("father name is %s ",f);
getch();
}
【问题讨论】:
-
使用
fgets而不是gets -
你也可以使用
scanf("%s", r)。注意溢出:) -
欢迎来到 Stack Overflow。请记住,在发布问题时,必须实际发布某种问题。您发布的是一份声明和一些代码,但您没有指出您遇到的任何问题或任何其他形式的问题。这往往会导致帖子被关闭。
-
这是 scanf 将换行符留在输入缓冲区中的常见问题,可能有很多重复。
标签: c