for循环的运用
想要编写:输入一段字符,然后按照原样输出字符,但是结果和预想不一样:这是代码:#include<stdio.h>
int main()
{
printf("请输入一段字符:");
char a;
for(;a=getchar()!='\n';)
printf("%s",a);
return 0;
}把printf("%s",a)换成printf("%c",a),又是不同的结果
#include<stdio.h>
int main()
{
printf("请输入一段字符:");
char a;
for(;a=getchar()!='\n';)
printf("%c",a);
return 0;
}为什么?哪里错了?
本帖最后由 jackz007 于 2021-3-5 10:56 编辑
写法问题
a = getchar() != '\n'
应该改成这样
(a = getchar()) != '\n'
这是改好的代码
#include<stdio.h>
int main()
{
char a ;
printf("请输入一段字符:") ;
for(; (a = getchar()) != '\n' ;) printf("%c" , a) ; // 此句不同
}
编译、运行实况
D:\0002.Exercise\C>g++ -o x x.c
D:\0002.Exercise\C>x
请输入一段字符:I'm you brother !
I'm you brother !
D:\0002.Exercise\C> jackz007 发表于 2021-3-5 10:53
写法问题
应该改成这样
多谢多谢! fledgling 发表于 2021-3-5 11:12
多谢多谢!
还有一点点疑问,为什么输出单个字符%c就能正常运行,以字符串输出%s输出就什么都不显示呢?
页:
[1]