冒号在C语言中起什么作用

RT。在一段程序中看到mos:这么句话。看不懂唉?
2025-04-08 12:02:06
推荐回答(4个)
回答1:

冒号在C语言中有以下几种作用:

1.语句标识,与goto语句配合使用。如:

 c++;
 if (c>3) goto next;
 if (c<2){
   c--;
 }
 next: return;

  由于goto语句会造成不易阅读等情况,因此应避免使用

2.条件赋值语句的组成部分

 a=(a>3)?1:2;

冒号将前面的条件语句在真和假两种情况的不同取值进行了分隔。

3.位域

struct K{
  int a:1;
  int b:2;
}

这里用作指示位宽的标识,上例中,a占一个位宽,b占两个位宽。

4.switch语句的case分支标识

switch(表达式){ 
    case 常量表达式1:  语句1;
    case 常量表达式2:  语句2;
    … 
    case 常量表达式n:  语句n;
    default:  语句n+1;
}

在case后面跟一个常量表达式,再加上冒号,作为不同分支的入口条件。

回答2:

这是标志初始化列表的意思。
构造函数将自动调用t来初始化_a.

这比_a = t更好。
因为更快。如果你不写初始化列表,编译器也会自动调用类型_a的构造函数来初始化_a.
更多请见Effective C++..这是本经典c++书。

回答3:

mos: 一个标志

可以在别的地方goto mos;
就可以执行mos后的指令了。

回答4:

我估计可能是这个程序中有个goto语句
例如:
mos:for(i=0;;i++)
{
if(i==100)
goto mos;
else i++;
break;
}