C语言 关于输入回车跳出循环的问题
发布网友
发布时间:2024-05-06 23:00
我来回答
共2个回答
热心网友
时间:3分钟前
(scanf("%c",&a[i]))=='\n'这个关系表达式不对
关系表达式是将两个数值或两个数值表达式连接起来的式子
scanf("%c",&a[i])的结果只是将输入的数赋予a[i],但这个表达式的结果并不等于a[i]。
所以用方法1时无法跳出循环
热心网友
时间:9分钟前
回车的ascii码值是
00001101 13 0D CR (carriage return) 回车键
也就是0d
if(a[i]=='\n')这个改为if(a[i]==0x0d)就可以了
if((scanf("%c",&a[i]))=='\n')这个事scanf的返回值是否和\0相等
也就是说,当scanf没有读入数据的时候,返回值是0,而\0的ascii码值刚好是0,你凑巧了