c语言中的一个问题求解

int j=10;
printf(“%d”,j++);

运行结果为什么不是10啊

用的是后缀递增运算符 j++,它将在语句执行结束时增加变量 j 的值。因此,输出语句 printf 将首先打印变量 j 的值,即 10,然后将 j 的值增加到 11。因此,程序运行后的输出结果是 10

这段代码的输出结果为11,因为 j++ 是后缀自增运算符,它会在整个表达式执行完毕之后再将变量 j 的值加1。在这个表达式中,printf() 函数会首先输出变量 j 的值,即10,然后 j++ 会将 j 的值加1。所以输出的结果是11。
你要是想输出结果为10,可以使用前缀自增运算符 ++j,它会先将变量 j 的值加1,再参与表达式运算。

int j = 10;
printf("%d", ++j);


分号和引号是中文全角标点,无法编译