|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
各位大佬想问一个问题:
#include<stdio.h>
int main()
{
int n, i;
printf("请输入字符的个数:");
scanf("%d",&n);
char a[n+1];
getchar();
printf("请开始输入字符:");
for(i=0;i<n;i++){
scanf("%c",&a[i]);
}
a[n]='\0';
printf("你输入的字符是:%s\n",a);
return 0;
}
这段代码getchar()用来读取输入的那个回车,为什么不能在scanf里面直接加上呢,像这样scanf("%d\n",&n),这样运行之后不能正常运行,求各位大佬解答,谢谢啦
scanf("%d\n",&n);
scanf中最后添加一个 '\n' ,不是表示接受一个回车符,而是表示忽略所有的空白字符。这样的结果就是需要输入非空字符之后才表示结束这次输入,会把这次的输入赋值给相应的变量。非空字符是除了空格、tab、回车等以外的字符
注意:scanf引号内一般只放格式化字符,不要放其他无关字符,很容易出错的
|
|