C语言中case语句,case和数字之间加不加空格有什么区别:

例如case1:和case空格1:,后者比较对,但是前者也能运行出来,不过答案案是错的,

case是关键字,case 1:能被作为switch语句的一部分正确识别;
case1: 只是一个单纯的label,可以用goto进行跳转追问

#include
int main()
{int k=5,n=0;
do { switch(k) { case 1: case 3:n+=1;break; default:n=0;k--;
case 2:
case 4:n+=2;k--;break; }
printf("%d",n);
}while(k>0&&n<5);}
就是这个、、

追答

你想问什么……你的case 1下什么都木有干,case1和case 1不构成区别啊

追问

刚开始所有的case都不加空格的,运行出来是222,都加了空格是2345

追答

额原来是这个意思,所有case都不加空格则都是无用的label,你的代码实质就变成了:

#include <stdio.h>

int main()
{
int k=5;
int n=0;
 do    
 { 
  switch(k)   
  { 
  n+=1;
  break;   
  default:
  n=0;
  k--;
  n+=2;
  k--;
  break;     
  }
    printf("%d\n",n);
  }
  while(k>0 && n<5);
  return 0;
 }

每一次循环进入switch都视作default,n被设为0,抵减k,n +=2,再次递减k,三次以后k成为-1,循环结束……

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-08-29
没有空格编译过不了滴,如果你遇到没有空格 运行成功了 一定是运行了前一次编译生成的exe

C语言中case语句,case和数字之间加不加空格有什么区别:
case是关键字,case 1:能被作为switch语句的一部分正确识别;case1: 只是一个单纯的label,可以用goto进行跳转

c语言中,case后有无空格有什么区别?
case后如果没有空格 case和后面的字符连在一起就不是关键字喽 所以当然就没办法实现case的功能啦 当然是有区别的 而且编译会不过的 采纳哦

C语言编程switch语句中case后面如果是数字是不是写空格?如果是字符是...
正常情况下,switch case语句是这么写的:这种是我们最常见的写法,当然也可以这么写:这种case 参数 空格...空格 参数的写法就是switch case语句的可变参形式写法,只要是标准C可以编译通过,不过这样的写法在GNU C中较为常见。

c语言中switch case语句的使用问题
{ case E1 : 语句组 1; \/\/case 与E1(即常量)之间用空格分隔 case E2 : 语句组 2;\/\/ case后的常量不能相同且常量后必须加冒号 …….case En : 语句组 n;[default: 语句组 ;]} 执行过程:一、计算 二、找case 三、从找到的case开始,往下全部执行 四、若没...

C语言多分支正确语句CASE
A case后面不能跟浮点数,同时,case和数值之间需要由空格。B case后面没有空格。同时 不能用逗号表达式。C case 1+2不正确,必须是常量,不能是表达式。D这个是正确的 选D 38 A x= y+ 什么的 和输入完全没关系。直接错误。B %d %d输入x和y没问题。 但直接a=getchar,a会赋值为\\n,所以...

C#中switch-case语句出错
所有的case后都要加空格,即case0应该为case 0,下面都一样 你这段代码实际相当于 private string NumToLetter(int num){ return (num>=0&&num<26)?((char)('a'+num)).ToString():"";}

计算机c语言 switch(a+b) {case1:case3:y=a+b;break; cas
这是C语言中经常用的switch选择执行语句。当switch中参数a+b的值为1时,无任何操作。注意,程序仍然会继续执行到下一条,即case:3。执行里面的复制操作。当参数a+b的值为3时,将a+b的值赋给y,跳出循环。当参数a+b的值为其他值时执行默认操作(你没有给出)。这个代码要注意case:1后面没有...

C语言编程switch语句中case后面如果是数字
swithc(k){ case 1: \/\/k的值为1跳到此行 case 'A': \/\/k的值为'A'跳到此行,'A'代表字母A的ASCII码,即0x41 或65 case '5': \/\/k的值为'5'跳到此行,'5'代表数字5的ASCII码,即0x35 或53 }

C++ case 语句中 空格怎么表示? case' ': 可以吗?
case-单词讲解(释义、例句)

在turbo2.0环境中,使用switch语句时,case后加数值时,例如case1,为什么之...
case 与常量表达式之间必须有空格,否则无法区分关键词,如case11 case 11

相似回答