c 语言中,为什么ch只能容纳一个字符?我的兄弟,来看看!

来源:百度知道 编辑:UC知道 时间:2024/06/18 00:19:55
scandf("%3c",&ch);如果连续输入3个字符abc,由于ch只能容纳一个字符,系统就把第一个字符‘a'赋给ch。我问,我咋知道ch只能容纳一个字符啊?不是有宽度3限制,不是abc一起输出吗?

“我咋知道ch只能容纳一个字符啊?”--就是这么规定的。不知道就记住!输入3个的,那叫字符串了。

“不是有宽度3限制”--宽度限定是限制可读入的最多字符数。输入完毕敲击回车后,你输入的abc被缓存一次读取(因为你限定3),之后缓存将abc赋给ch,但ch只能接受一个字符。完毕。
一个变量是一个大小、地址固定的内存块,ch的大小就是1字节的内存,你说能不能给它3字节大小的东西?

记得输入字符串要用数组的吧..ch[]