QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 606|回复: 1

有关break产生的疑惑!!!

[复制链接]
发表于 2005-5-6 16:47:20 | 显示全部楼层 |阅读模式
[code:1]
main(){
   static int a[100];
   int m,n;
   for(m=0;m<100;m++){
      scanf("%d",&a[m]);
      if(a[m]=='a')
         break;
   }  /*问题就出在这,跳出后m值应该是多少?我认为是输入的数的个数,但不管我出入几个整数printf打印出的总是100???*/
   printf("%d",m);
}[/code:1]

[code:1]
main(){
   int count;
   for(count=1;count<=100;count++){
      if(count==50)
          break;
   }
   printf("%d",count); /*这里的count到是50!!!*/
}[/code:1]

以上两段代码在break后为什么会有这样的差别呢???(在vc6中编译运行的)
把 if(a[m]=='a') 改成if(a[m]==-1)就可以了,但int和char不是可以兼用的吗?
发表于 2005-5-6 18:54:08 | 显示全部楼层
char是1个字节的,int是4个字节的,当把int转换为char时会有信息丢失……
so...
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-6 03:33 , Processed in 0.044548 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表