设有语句int a=3,执行语句printf("%d\n",-a++);后输出的结果是 C语言问题:设有语句int a=3;执行语句printf("...

\u8bbe\u6709\u8bed\u53e5 int a=3 ; \u5219\u6267\u884c\u4e86\u8bed\u53e5 a+ = a * a\u540e\uff0c\u53d8\u91cfa \u7684\u503c\u662f\uff08 \uff09 A\u30013 B\u30010 C\u30019 D\u300112

\u8d4b\u503c\u8fd0\u7b97\u662f\u4ece\u53f3\u5230\u5de6\u7684\u4e0a\u9762\u7684\u8bed\u53e5\u8fd0\u7b97\u987a\u5e8f\u662f\uff1aa-=a*a;a+=a;\u8ba1\u7b97\u7b2c\u4e00\u4e2a\u540ea\u7684\u503c\u662f-6\uff0c\u518d\u8ba1\u7b97\u7b2c\u4e8c\u4e2a\uff0ca\u7684\u503c\u5c31\u662f-12

-3 4
\u56e0\u4e3a\u662fa++\uff0c\u6240\u4ee5\u5148\u4f7f\u7528\u4e86a\u503c\u540e\u518d+1;
\u53e6\u5916\u53d6-a\u8f93\u51fa\uff0c\u53ea\u662f\u8f93\u51fa\u65f6\u53d6a\u7684\u8d1f\u503c\uff0c\u5e76\u6ca1\u6709\u6539\u53d8a\u7684\u503c\uff0c\u5f53\u8f93\u51fa-3\u4e4b\u540e\uff0ca\u503c+1\u5f974

输出结果是-3
变量a的值为4

a++表示当a先参与运算,再自身加1
++a表示a先自身加1,再参与运算,这个先后顺序要搞清楚
如果是-(++a)结果就是
输出-4,a的值也是4

C -3
a=4;

a=3;
-是负号
a++是先操作再加1,
++a是先加1再操作。
所以 先操作是-3
然后a+1=4;

如果是printf("%d\n",-++a);
那么答案就是-4, a=4

显示结果是-3,但a=4.
a++的意思就是先把的值输出 出来,然后a再+1
int a=3,b;
b=a++;
这个时候 b就是=3 但a=4

不用怀疑,输出的肯定 -3 ,但是最后的a结果是4

-3
4

扩展阅读:ai智能写作一键生成 ... int a=0 ... int a[3][4] ... 设有以下定义int a 0 ... 若有定义和语句int a 3 3 ... 若有语句int point a 4 ... int a=2 ... int a[2][3] ... 万能计算器 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网