| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1179 人关注过本帖
标题:一事不懂
只看楼主 加入收藏
youxiaxyz
Rank: 1
等 级:新手上路
帖 子:85
专家分:0
注 册:2006-4-5
收藏
 问题点数:0 回复次数:21 
一事不懂

#include<stdio.h>
int main()
{
char i;
do{
printf(" hello the word\n");
scanf("%c", &i);
}while(i == 'y');
return 1;
}//我想循环但是第二次就跳出了,何解?
高手指点一下

搜索更多相关主题的帖子: return include word hello 
2006-04-15 12:59
abingchem
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:716
专家分:0
注 册:2004-12-30
收藏
得分:0 
scanf后面加一个getchar();

此人已消失
2006-04-15 13:07
gaga
Rank: 1
等 级:新手上路
威 望:2
帖 子:307
专家分:0
注 册:2006-4-5
收藏
得分:0 
一事不懂

#include<stdio.h>
int main()
{
char i;
do{
printf(" hello the word\n");
scanf("%c", &i);/*注意了这是字字符 scanf("%c", i)还有你在i没有输入之前就用到while中了*/
}while(i ==

[此贴子已经被作者于2006-4-15 13:20:51编辑过]


明天的明天还有明天。 可是今天却只有一个。 public Copy from 无缘今生
2006-04-15 13:17
youxiaxyz
Rank: 1
等 级:新手上路
帖 子:85
专家分:0
注 册:2006-4-5
收藏
得分:0 
三楼的加了getchar();的确行了,但是为何啊!解释一下?谢谢!
四楼:
);/*注意了这是字字符 scanf("%c", i)还有你在i没有输入之前就用到while中了*/

我觉得第一次i没有输入到while中啊!
2006-04-15 13:30
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
收藏
得分:0 
以下是引用youxiaxyz在2006-4-15 12:59:00的发言:

#include<stdio.h>
int main()
{
char i;
do{
printf(" hello the word\n");
scanf("%c", &i); /*改为i=getche();即可 */
}while(i == 'y');
return 1;
}//我想循环但是第二次就跳出了,何解?
高手指点一下

原因是你那个scanf("%c",&i)必须在输入后,还得按回车键,就在程序第二次循环中默认你又输入了回车,显然不等于'y',所以就退出来了.


对不礼貌的女生收钱......
2006-04-21 18:52
pthouge
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2006-3-10
收藏
得分:0 
#include<stdio.h>
int main()
{ char i;
do{
printf(" hello the word\n");
i=getch();
}while(i == 'y');
return 1;
}

2006-04-22 08:58
errorer
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2006-4-19
收藏
得分:0 
#include<stdio.h>
int main()
{ char i;
while(1)
{
printf(" hello the word\n");
if(i=getch()=='N'||i=getch()=='n')
exit(0);
}

return 0;
}/*请问这样也行吗?*/

思想有多远,就能走多远!
2006-04-22 09:50
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
收藏
得分:0 
呵呵,7楼的明显不对了.
先说你的语法上明显有问题.if(i=getch()=='N'||i=getch()=='n')这个语句是错的.
它是先算getch()=='N',getch()=='n',再赋值,可C没有这样用的。
if((i=getch())=='N'||(i=getch())=='n')
这样一改语法就正确了,可是又出了另外一个问题。
你的程序得要同时输入两个字母才行,因为有两个getch(),而且要求第二个是'N'或'n'才行.

应改为if((i=getch())=='N'||i=='n')


对不礼貌的女生收钱......
2006-04-22 15:26
youxiaxyz
Rank: 1
等 级:新手上路
帖 子:85
专家分:0
注 册:2006-4-5
收藏
得分:0 
好像不对,我试过了
2006-05-01 14:27
private
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2006-5-1
收藏
得分:0 
[讨论]这样写
#include<stdio.h>
int main()
{
char i;
do{
printf(" hello the word\n");
fflush(stdin);// 这一定要有这句,清掉 键盘
i=getchar();

}while(i == 'y');
}
//不要有return在主函数 里

2006-05-01 14:41
快速回复:一事不懂
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015732 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved