C语言求助

[复制链接]
查看11 | 回复5 | 2009-3-9 23:44:12 | 显示全部楼层 |阅读模式
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.谁能给我讲讲啊,为什么1245的1和2和45之间没有回车或者空格,什么时候该加

回复

使用道具 举报

千问 | 2009-3-9 23:44:12 | 显示全部楼层
我想你程序的最后一句里多打了一个" 这个程序是演示两种输入输出函数, main() { char c1,c2,c3,c4,c5,c6; 定义字符 scanf("%c%c%c%c",&c1,&c2,&c3,&c4); 输入c1c2c3c4,当然具体字符你随便输 c5=getchar(); 字符输入函数getchar,效果和scanf一样,输入C5 c6=getchar(); 同上,输入C6 putchar(c1); 字符输出函数putchar,输出C1 putchar(c2); 同上,输出C2 printf("%c%c\n",c5,c6);输出C5,C6 } 如你所说的输入,则输出1245...
回复

使用道具 举报

千问 | 2009-3-9 23:44:12 | 显示全部楼层
我就不对程序解释了,楼上的几位朋友都解释了,我就直接解释你所问的吧 你问1245的1和2......4和5之间为什么没有回车或空格 因为在输出语句的时候,没有加\n,\n表示回车的意思,所以12 45之间没有回车,至于空格,,在程序中定义的全是字符数据,如果要想输出空格的,必须把空格也作为一种字符赋值给字符变量,比如把C=空格 ,空格在字符数据中...
回复

使用道具 举报

千问 | 2009-3-9 23:44:12 | 显示全部楼层
搞个vc跑一下:main() { char c1,c2,c3,c4,c5,c6; //定义字符c1、c2、c3、c4、c5、c6scanf("%c%c%c%c",&c1,&c2,&c3,&c4); //格式输入c1、c2、c3、c4c5=getchar(); //字符输入,值赋给c5c6=getchar(); //字符...
回复

使用道具 举报

千问 | 2009-3-9 23:44:12 | 显示全部楼层
1245 分析:显然c1=1,c2=2 ,c3=3,c4=(即'\n') c5=4,c6=5。而678均是多余的字符,并没有被程序接收补:回车和空格不是加上去的,而是输出的,如c4就是回车...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行