免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 2713 | 回复: 22
打印 上一主题 下一主题

有关break产生的疑惑!!! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-05-06 16:28 |只看该作者 |倒序浏览

  1. main(){
  2.     static int a[100];
  3.     int m,n;
  4.     for(m=0;m<100;m++){
  5.        scanf("%d",&a[m]);
  6.        if(a[m]=='a')
  7.           break;
  8.     }  /*问题就出在这,跳出后m值应该是多少?我认为是输入的数的个数,但不管我出入几个整数printf打印出的总是100???*/
  9.     printf("%d",m);
  10. }
复制代码


  1. main(){
  2.     int count;
  3.     for(count=1;count<=100;count++){
  4.        if(count==50)
  5.            break;
  6.     }
  7.     printf("%d",count); /*这里的count到是50!!!*/
  8. }
复制代码


以上两段代码在break后为什么会有这样的差别呢???(在vc6中编译运行的)
把 if(a[m]=='a') 改成if(a[m]==-1)就可以了,但int和char不是可以兼用的吗?

论坛徽章:
0
2 [报告]
发表于 2005-05-06 16:42 |只看该作者

有关break产生的疑惑!!!

  1. scanf("%d",&a[m]);
  2.       if(a[m]=='a')
  3.          break;
复制代码



你输入一个 97 看看。

论坛徽章:
0
3 [报告]
发表于 2005-05-06 17:02 |只看该作者

有关break产生的疑惑!!!

我输入97后打印出我输入的数的个数(不含97),这是怎么回事呢?

论坛徽章:
0
4 [报告]
发表于 2005-05-06 17:04 |只看该作者

有关break产生的疑惑!!!

再把 %d 改为 %c 试一试

论坛徽章:
0
5 [报告]
发表于 2005-05-06 17:18 |只看该作者

有关break产生的疑惑!!!

把%d改成%c后输入12它就认为是1和2!!!

论坛徽章:
0
6 [报告]
发表于 2005-05-06 18:51 |只看该作者

有关break产生的疑惑!!!

"输入97后打印出我输入数的个数(不含97)",就是正确的结果,m是从0开始的,所以得最后打印的m是你输入数的个数减1。

论坛徽章:
0
7 [报告]
发表于 2005-05-06 19:38 |只看该作者

有关break产生的疑惑!!!

[quote]原帖由 "rainshadow"]"输入97后打印出我输入数的个数(不含97)",就是正确的结果,m是从0开始的,所以得最后打印的m是你输入数的个数减1。[/quote 发表:

可能是我的话没有说清楚,我是问为什么输入97就正确而输入a就不正确这是怎么回事!

论坛徽章:
0
8 [报告]
发表于 2005-05-06 20:51 |只看该作者

有关break产生的疑惑!!!

原帖由 "网路幽灵" 发表:

可能是我的话没有说清楚,我是问为什么输入97就正确而输入a就不正确这是怎么回事!

因为scanf("%d",&a[m]);只能接受整数,不能接受输入的其它字符。

论坛徽章:
0
9 [报告]
发表于 2005-05-07 10:16 |只看该作者

有关break产生的疑惑!!!

'a'的ASCII码就是97,建议查以下ASCII表!
  1. scanf("%d",&a[m]);
复制代码

你指定的输入格式是"%d",你说它能正确接受字符'a'吗?
就好比你在你在W.C的一个门上挂了个“女”,那男的还能进吗?除非男办女装一下!!

论坛徽章:
0
10 [报告]
发表于 2005-05-07 14:18 |只看该作者

有关break产生的疑惑!!!

不能接受字符输入我能理解,为什么第一段代码我输入三个数后输入a(输入不正确)这时应该因为输入格式不对而终止,m也应该是终止时的值吧?怎么m会是100呢?这100又是怎么得到的呢???
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP