【刚刚的程序单有点问题,更正一下,请大家进来看下】

来源:百度知道 编辑:UC知道 时间:2024/05/24 22:46:03
#include "stdio.h"
main()
{
char c1,c2,c3,c4,c5,c6;
scanf("%c%c%c%c",&c1,&c2,&c3,&c4);
c5=getchar();c6=getchar();
putchar(c1);putchar(c2);
printf("%c%c\n",c5,c6);
}
输入
123回车
45678回车

这个程序单的结果为什么是1245?
请详细说明一下,谢谢

你是说输入
123(回车)
45678 得出的结果?
因为是字符型的嘛 所以123(回车)分别存入了c1,c2,c3,c4 那么c5,c6里存的就是45啊
你输出的是 c1,c2,c5,c6 当然就是1245了
c里面 空格和回车都可以当作一个字符

第一个字符:1
第二个字符:2
第三个字符:3
第四个字符:\n(回车)
第五个字符:4
第六个字符:5
你输出的是c1,c2,c5,c6,并且中间无分隔,所以是1245

123分别赋给了c1c2c3回车给了c4
45给了c5c6
以后的输入都无效的
没错啊