关于字符和字符串
c语言吧
全部回复
仅看楼主
level 6
伊蕾娜@
楼主
正确的
打法应该是把c换成s,但是不明白为什么用c会把else里的输出一遍
2022年11月02日 14点11分
1
吧务
level 14
GTA小鸡
你以为自己只输入了一个字符6,其实你输入了两个字符:6和\n,\n是你按回车产生的换行符。
“正确的打法应该是把c换成s”,这不仅不正确,反而属于越界的严重错误,
2022年11月02日 14点11分
2
伊蕾娜@
前面的我懂了,但是把c换成s之后就能打出来了,这是为什么
2022年11月02日 23点11分
GTA小鸡
@伊蕾娜@
%s读取一个字符串,遇空白字符停止。一个不为空的字符串至少包含两个字符,而char类型只能容纳一个字符。你在试图向单个char变量中写入至少两个字符,这完全错误。
2022年11月03日 01点11分
伊蕾娜@
@GTA小鸡
所以说,用c会出现图中那种情况的原因是它只能读取单个字符,而我输入的实际是6 \n,所以它先读取6,输出符号是数字,然后读取\n,输出符号是其他吧
2022年11月03日 02点11分
GTA小鸡
@伊蕾娜@
对
2022年11月03日 03点11分
1