对于以下代码:
char x[100]; char y;
scanf("%s%c", &x, &y);
printf("%s%d", x, y);
input: abcd(按回车)
output: abcd10
为什么 会输出一个10?

C语言输出问题为什么回车输出10回车的ascii码不是13吗
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 老皮芽子 2022-10-13 09:01关注
回车 \r 0x0d 13,回到行首
换行 \n 0x0a 10,下一行
在 windows 中每行尾是 <回车><换行> 两个字符
2 个字符有些浪费
在 unix /linux 中每行尾就只用 <换行>
在 MAC 苹果 中每行尾就只用 <回车>
在 windows 系统中一些读键盘的函数也会将<回车>转换成 <回车><换行>
你的输出10就是这个原因本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用