我要编写的是C语言计票程序,可是按理说应该循环5次,但是只出现了3次,请大神帮忙。

[复制链接]
查看11 | 回复4 | 2013-1-27 12:38:15 | 显示全部楼层 |阅读模式
楼上说的是对的,回车也会被scanf当做字符进行处理的,所以第二次不等你输入,scanf就会把回车当做自己的字符。改进方法如下:#include struct person{ char name; int count;}leader[3]={'l',0,'z',0,'x',0}; int main(){int i,j;char k;for(i=0;i<5;i++){ printf("Please input the first word of the name:"); scanf("%c",&k);if(k=='\n')
...
回复

使用道具 举报

千问 | 2013-1-27 12:38:15 | 显示全部楼层
回车没处理!被当作字符了,字符,回车,字符,回车,字符,一共循环5次,三个字符加2个回车一共5个字符,一个不多,一个不少!...
回复

使用道具 举报

千问 | 2013-1-27 12:38:15 | 显示全部楼层
只有输入为'i','z'和'x'时,才会将对应元素的count进行增1运算,其他字母全部忽略。...
回复

使用道具 举报

千问 | 2013-1-27 12:38:15 | 显示全部楼层
你把输入输出截屏来看看,目测程序没错,估计是输入的时候问题吧...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行