鱼C论坛

 找回密码
 立即注册
查看: 1382|回复: 7

[已解决]求助大佬们一个自增型的问题!

[复制链接]
发表于 2021-2-23 14:58:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>
int main()
{
    int a = 2,b = 3,c,a2,b2;
   
    a2 = ++a;
    b2 = b++;
   
    printf("a2 = %d\nb2 = %d",a2,b2);
    return 0;
}

这个程序输出的 a2 = 3, b2 = 4;

#include<stdio.h>
int main()
{
    int a = 2,b = 3, c;
    c = ++a + b++;
    printf("c = %d\n",c);
}

为啥这个程序输出的c = 6呢,意思是a先赋值2给了表达式然后计算完了在增加吗?
最佳答案
2021-2-23 16:35:06

++在前就是先自增后运算,++在后就是先运算后自增
现在的代码,a2和b2应该都是3
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-2-23 15:13:01 | 显示全部楼层
自增运算符是会改变变量自身的..你再带进去算算
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-23 15:21:50 | 显示全部楼层
qiuyouzhi 发表于 2021-2-23 15:13
自增运算符是会改变变量自身的..你再带进去算算

对 确实会改变。有点像静态变量的性质一样我感觉
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-23 15:22:47 | 显示全部楼层
学编程的盆子 发表于 2021-2-23 15:21
对 确实会改变。有点像静态变量的性质一样我感觉

和静态变量有啥关系
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-23 15:24:13 | 显示全部楼层
c = ++a + b++;
++a表示先自增后运算,即a=2+1=3,再参加加运算
b++表示先运算后自增,即b先参加加运算,然后b=3+1=4
参加加运算的两个数字是3和3,结果就是6
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-23 15:26:46 | 显示全部楼层
第一个程序结果应该是 a2 = 3, b2 = 3。 b2 = b++,应该是先把b的值赋给b2,然后再自增。
第二个程序也是这样的  a先自增加上b赋值给c,然后b再自增,也就是说c=3+3
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-23 15:27:11 | 显示全部楼层
shake_a_tree@16 发表于 2021-2-23 15:24
c = ++a + b++;
++a表示先自增后运算,即a=2+1=3,再参加加运算
b++表示先运算后自增,即b先参加加运算, ...
#include<stdio.h>
int main()
{
    int a = 2,b = 3,c,a2,b2;
    
    a2 = ++a;
    b2 = b++;
    
    printf("a2 = %d\nb2 = %d",a2,b2);
    return 0;
}

那对于这种,可以理解他就是算完存入新值再输出吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-23 16:35:06 | 显示全部楼层    本楼为最佳答案   

++在前就是先自增后运算,++在后就是先运算后自增
现在的代码,a2和b2应该都是3
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-22 13:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表