小编Dhr*_*tra的帖子

在c中,switch语句可以有2个参数吗?

int main()
{
   switch(1,2)
   {
      case 1:printf("1");break;
      case 2:printf("2");break;
      default: printf("error");break;
   }
}
Run Code Online (Sandbox Code Playgroud)

这在c中有效吗?

我认为它不应该,但是当我编译它时,它显示没有错误并产生输出2.

c syntax comma switch-statement comma-operator

6
推荐指数
1
解决办法
1791
查看次数

后递减运算符

有些人请告诉我x之后的价值是什么(用c语言)

x=1;

x=x--&&++x;
Run Code Online (Sandbox Code Playgroud)

我认为它应该是0因为x&&++x将给出1并且减少后将使其为0.

但是当我在计算机上输入这个结果时1.为什么后期减量在这里不起作用.

我这样想:

预增量的优先级高于&&因此两个x都应被视为2(布尔值为true),因此x && ++ x将给出1,后减量应将其减少为0.

这不是一个重复的问题,因为这不是未定义行为的情况,它关于后递减的工作原理.

c decrement

1
推荐指数
1
解决办法
135
查看次数

递减运算符与减法运算符

如果我写一个像(在c中)的代码

    x=1;
    z=2;
    y=x---z;
Run Code Online (Sandbox Code Playgroud)

将前两个 - 作为后减量处理,后来作为减法处理

或者第一个 - 将被视为减法,其他两个将被视为预先减少

如果我放一个空格使其成为另一个(因为在c程序中不会被空格改变)该怎么办?

subtraction decrement

0
推荐指数
1
解决办法
107
查看次数