| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1215 人关注过本帖
标题:c语言do..while问题
取消只看楼主 加入收藏
thunder11102
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2012-3-29
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:11 
c语言do..while问题


 #include <stdio.h>
main()
{
int i;
do
{
  scanf("%d",&i );
  printf("af");
}
while(i == 100);
printf("%d",i);
}

①若直接输入非整型数,则会输出 af-858993460
   ................正常
②若输入100,就会让再次输入,这时没问题,但在此时输入的是非整型数就会循环不断打印af   
   .................不正常啊!!!

 

求解!!!
搜索更多相关主题的帖子: 100 include 
2012-04-02 10:21
thunder11102
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2012-3-29
收藏
得分:0 
回复 3楼 Dongtengpeng
输入字符试试
2012-04-02 18:14
thunder11102
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2012-3-29
收藏
得分:0 
回复 2楼 飞莲
那个,高手
你能不能给我详解一下,有点看不懂啊!!!
2012-04-02 18:44
thunder11102
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2012-3-29
收藏
得分:0 
回复 6楼 chinaflag
最初我是想让输错时,循环重输的,
刚开始循环条件是 i == -858993460
(由于在VC中输入不是相匹配类型的数据就会赋给 i 一个值即 -858993460 )
所以输入是字符时,就会循环重新输入,但不知为什么,循环不断
2012-04-02 18:55
thunder11102
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2012-3-29
收藏
得分:0 
回复 10楼 TonyDeng
书上没有
我也试过很多次,还是没弄明白,貌似一个程序中有两个scanf()就会把它当做一个来使用
是不是这样啊?
2012-04-02 19:06
thunder11102
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2012-3-29
收藏
得分:0 
回复 13楼 TonyDeng
非常感谢版主的指导
我想我有些明白了是不是这样:
①--> 输入100         此时i的值为100
②--> (由于循环再次需输入)  输入a
 因为i中已经有值,输入错误,系统不再自动赋值,i = 100 再次循环

再往下就有些不明白了,按理不是应该如下么?
③--> 应该再次请求输入,但为什么没有请求输入,一直循环??

希望版主能指导一下
2012-04-02 20:02
thunder11102
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2012-3-29
收藏
得分:0 
回复 12楼 TonyDeng
刚网络掉线了,现在才好,让版主久等了


#include <stdio.h>
int main(void)
{
int x;
scanf("%d", &x);
printf("%d,%c", x, x);
}
当输入字母或字符时,结果为:
-858993460,蘌ress any key to continue

-858993460  能理解
但为什么是    而且Press的P 为什么没了?

我又在后面加了\n  
#include <stdio.h>
int main(void)
{
int x;
scanf("%d", &x);
printf("%d,%c\n", x, x);
}

又是另一种情况:
-858993460,?
Press any key to continue

为什么又变成了 ?  P也回来了

求解!!!
2012-04-02 22:06
thunder11102
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2012-3-29
收藏
得分:0 
回复 15楼 TonyDeng
让版主久等了,刚网络掉线

图片附件: 游客没有浏览图片的权限,请 登录注册
  
然后再输入a
图片附件: 游客没有浏览图片的权限,请 登录注册


回车
图片附件: 游客没有浏览图片的权限,请 登录注册

2012-04-02 22:12
thunder11102
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2012-3-29
收藏
得分:0 
回复 16楼 chinaflag
那这个怎么解决?
2012-04-02 22:14
thunder11102
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2012-3-29
收藏
得分:0 
回复 20楼 老高1
这不是从问题来学么?

虽然可能用不到,但也有助于更深的学习,真的不懂得话,那就先存着吧
2012-04-02 22:31
快速回复:c语言do..while问题
数据加载中...
 
   



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

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