一个基础问题,求各位大佬解答
各位大佬想问一个问题:#include<stdio.h>
int main()
{
int n, i;
printf("请输入字符的个数:");
scanf("%d",&n);
char a;
getchar();
printf("请开始输入字符:");
for(i=0;i<n;i++){
scanf("%c",&a);
}
a='\0';
printf("你输入的字符是:%s\n",a);
return 0;
}
这段代码getchar()用来读取输入的那个回车,为什么不能在scanf里面直接加上呢,像这样scanf("%d\n",&n),这样运行之后不能正常运行,求各位大佬解答,谢谢啦 scanf("%d\n",&n);
scanf中最后添加一个 '\n' ,不是表示接受一个回车符,而是表示忽略所有的空白字符。这样的结果就是需要输入非空字符之后才表示结束这次输入,会把这次的输入赋值给相应的变量。非空字符是除了空格、tab、回车等以外的字符
注意:scanf引号内一般只放格式化字符,不要放其他无关字符,很容易出错的 sunrise085 发表于 2020-8-7 17:38
scanf("%d\n",&n);
scanf中最后添加一个 '\n' ,不是表示接受一个回车符,而是表示忽略所有的空白字符。这 ...
谢谢大佬啦。那大佬格式化字符指的是什么,刚才去查没有查到 Christopher. 发表于 2020-8-7 17:49
谢谢大佬啦。那大佬格式化字符指的是什么,刚才去查没有查到
就是 %d、%f 这类 Christopher. 发表于 2020-8-7 17:49
谢谢大佬啦。那大佬格式化字符指的是什么,刚才去查没有查到
四楼说的对
格式化字符就是%d、%f、%c、%s等等 zltzlt 发表于 2020-8-7 17:52
就是 %d、%f 这类
好的,谢谢啦
sunrise085 发表于 2020-8-7 18:33
四楼说的对
格式化字符就是%d、%f、%c、%s等等
谢谢啦 Christopher. 发表于 2020-8-7 18:42
谢谢啦
不用谢。
给评个最佳就行了
页:
[1]