相关疑难解决方法(0)

操作c = a +++ b是什么意思?

以下代码让我感到困惑

int a=2,b=5,c;
c=a+++b;
printf("%d,%d,%d",a,b,c);
Run Code Online (Sandbox Code Playgroud)

我预计输出为3,5,8,主要是因为a ++意味着2 + 1等于3,而3 + 5等于8,所以我预期3,5,8.事实证明结果是3,5,7.有人可以解释为什么会这样吗?

c c++ visual-c++

31
推荐指数
3
解决办法
3万
查看次数

a +++++ b与a ++ + ++ b的区别b

可能重复:
为什么+++++ b在C中不起作用?
3加上两个变量之间的加号

我试着搜索这个,但找不到任何结果.

c=a+++++b无法编译的代码(gcc),而for c=a++ + ++b,它编译成功.c=a+++ ++b也有效.c=a++ +++b失败.

为什么空白在这里产生了这样的差异?或者我错过了C的重要概念?

c

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

i +++ j总是被视为i ++ + j吗?

在printf语句中i+++j,它总是被视为i++ +j

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main() {
    int i =5,j= 6, z;
    z=i^j;
    printf("%d",i+++j);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c operators

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

这是C/C++中未定义的行为吗?

int x = 2;
int y = 5;

int z = x +++ y;

printf("%d",z);
Run Code Online (Sandbox Code Playgroud)

VC++和GCC都提供7作为输出.我的困惑在于,它可能是x ++ + y或x + ++ y.这个定义了吗?

c c++ undefined-behavior

3
推荐指数
2
解决办法
113
查看次数

标签 统计

c ×4

c++ ×2

operators ×1

undefined-behavior ×1

visual-c++ ×1