首页 > 试题广场 >

以下程序的执行结果是()。 #inclu

[单选题]
以下程序的执行结果是()
#include<stdio.h> 
int main() {
    int i=10,j=10;
    printf("%d,%d\n",++i, j--);
    return 0;
}


  • 11,10
  • 9,10
  • 11,9
  • 10,9
++i 表示+1以后的数值赋给i;
i++表示+1之前的数值给i;
--同理
发表于 2018-07-09 12:03:18 回复(1)
这个题要仔细看,不能慌,输出i++的时候,会先输出i再加加,++i是先将i加1再将加1之后的值输出
发表于 2019-11-24 20:23:57 回复(0)
表达式的结果而不是变量的结果
发表于 2019-02-27 10:38:35 回复(0)

输出++i----->先加1再输出
输出j------->先输出再减1

发表于 2022-06-09 09:54:38 回复(0)
printf在打印多个值时是使用进出栈的操作的。而且是从右向左进出栈的。
i 和 ++i 会先计算结果 改变缓存区i的大小 但是不会入栈 它们会等所有的计算结果计算完成后入栈
i++ 会将i的值直接入栈 然后计算i++ 改变缓存区的值。i--和--i同理

```cpp
int i =10;
printf("%d    %d    %d\n",i++,i,++i);
```
结果为
11 12 12
```cpp
int i =10;
printf("%d    %d    %d\n",++i,i,i++);
```
结果为
12 12 10
```cpp
int i =10;
printf("%d    %d    %d\n",i++,i--);
```
9 10
发表于 2021-12-30 20:34:54 回复(0)
没看懂

发表于 2021-09-25 14:13:00 回复(0)
先输出再加,减小了在输出
发表于 2021-08-01 12:02:46 回复(0)
马虎了
发表于 2018-08-15 14:28:30 回复(0)