c语言中for 语句和switch语句怎么不能同时使用啊?

#include<stdio.h>
void main()
{
int m,i,b,c;
char a;
scanf("%d",&m);
for(i=0;i<m;i++)
{
scanf("%c%d%d",&a,&b,&c);
switch(c){
case '+': printf("%d\n",b+c); break;
case '-': printf("%d\n",b-c) ;break;
case '*': printf("%d\n",b*c) ;break;
case '/': printf("%.2f\n",(double)b/c); break; //先不考虑c==0 的情况
}
}
}

把for去掉可以用,把for加上就不行了,为什么啊?

第1个回答  2013-11-26
#include<stdio.h>

void main()
{
int m,i,a,c;
char b;
scanf("%d",&m);
for(i=0;i<m;i++)
{
scanf("%d%c%d",&a,&b,&c);
switch(b){
case '+': printf("%d\n",a+c); break;
case '-': printf("%d\n",a-c) ;break;
case '*': printf("%d\n",a*c) ;break;
case '/':{
if(c==0)
{
printf("\n\t\t除数不能为0...\n");
break;
}4

printf("%.2f\n",(double)b/c); break;
}
default:
printf("\n\t\t你的输入有误。。。\n\n");
}
}
}
第2个回答  推荐于2018-04-27
#include<stdio.h>
void main()
{
int m,i,b,c;
char a;
scanf("%d",&m);
for(i=0;i<m;i++)
{
fflush(stdin);
scanf("%c%d%d",&a,&b,&c);
switch(a){
case '+': printf("%d\n",b+c); break;
case '-': printf("%d\n",b-c) ;break;
case '*': printf("%d\n",b*c) ;break;
case '/': printf("%.2f\n",(double)b/c); break;
}
}
}本回答被提问者和网友采纳
第3个回答  2011-10-05
case '+': { printf("%d\n",b+c); break; }
case '-': { printf("%d\n",b-c) ;break; }
case '*': { printf("%d\n",b*c) ;break; }
case '/': { printf("%.2f\n",(double)b/c); break; }//先不考虑c==0 的情况
给每个 case 语句后面的 加上 括号
第4个回答  2011-10-05
scanf("%d",&m);
for(i=0;i<m;i++) 这个你想表达什么啊?

还有switch后应该是?(a)的
第5个回答  2011-10-05
switch()里边你写的是c。。。c是整型。。依照你的意思应该是a吧??

C语言中,for语句里可以套switch吗
可以的,switch语句就是通过判断变量的值来做相应的处理的

C语言for循环中用else套用break;出错: error: break statement not withi...
break statement not within loop or switch意思是:break语句不在循环内。for循环是编程语言中一种循环语句,而循环语句由循环体及循环的判定条件两部分组成,其表达式为:for(单次表达式;条件表达式;末尾循环体){中间循环体;}。

c语言中,for循环里嵌套了switch循环,switch循环里有两个结果,一个brea...
因为break 在包含在switch语句当中的!所以break 跳出的是 switch的多分支结构而不是跳出for 语句 所以for语句是要执行完毕的!你应该去翻翻嵌套使用循环语句方面的东西。

C语言for循环加switch循环?
s[]里面的数都是1或2或3,而switch(s[k])里的case 正好是1,2,3,所以s[]里的数一共有8个,肯定会执行8次switch(s[k]),并且case 1, case 2后面都没有break,所以肯定会执行case 3,所以x[s[k]]++就相当于要嘛 s[1]++ ,要嘛s[2]++,要嘛s[3]++,s[0]则不变还是0,所以...

在C语言中case语句后面能接for循环吗?
case语句后面能接for循环语句。只是将for循环整个当成一条语句执行。case是与switch一起使用的,格式如下:switch(表达式){ case 常量表达式1 : 语句1; break;case 常量表达式2 : 语句2; break;...case 常量表达式n : 语句n; break;default : 语句n+1;} case后面接for循环,举例如下:int a=4...

请问for循环中,switch里的break,跳出switch后,还继续for循环吗?谢谢...
会继续for循环,switch只会往外跳一层如果用goto可能会跳到for外面或者在switch语句外for循环内用break会跳出for循环

c语言,对于for嵌套switch语句,break不执行表达式3而continue执行表达式3...
break是结束,整个儿放循环,在当前位置直接跳出for循环。而continue是结束本次循环,接着执行下一个循环。也就是在continue和break在本次循环后面的语句都不会执行。

C语言关于for,switch语句的题目,详解。
首先,先熟悉一下switch里常见逻辑 case标签后无break;则向下一个case标签后的语句执行,例如文中case 1:s+=1;没有break;则会继续向下执行case 2的内容。如果是case 4则会跳出。好,来分析一下,一共3次循环 for(n=0;n<3;n++){switch(s){case 0:case 1:s+=1;case 2:s+=2;break;case...

c语言中for
语句1 break;case 值2:语句2 break;default:值n break;} 当表达式或属性的值与某个case标签的值匹配时,程序会执行该case下的语句。从匹配的case开始,执行该组语句直到遇到break语句,然后程序会跳出switch语句,继续执行switch语句后面的下一个语句。如果表达式的值与所有case的值都不匹配,但存在一个...

C语言关于switch函数放在for循环里如何停止程序。。
稍微改动了一下源程序,如果楼主说的是“无法退出程序但可以重新做选择”这个原因的话,我发觉到了for循环中的i仅仅只有一次输入的机会,所以i成为了常数,并不是个变量(i在第一次输入数据以后永远不可能有重新输入的机会。)下面贴出了我改动后的程序以便楼主参考(刚学编程不久,有什么不对的地方请...

相似回答