a=3; a+=(a<1)?a:1; printf(“%d”,a); 程序运行结果是

a=3;
a+=(a<1)?a:1;
printf(“%d”,a);
程序运行结果是 ________________ 。

第1个回答  推荐于2017-09-30
4.
第二条语句是a=a+一个值。如果a<1,这个值则取a,否则取1.
所以a=3+1=4。本回答被提问者采纳
第2个回答  2014-06-25
4;

先算(a<1)?a:1;得出1

再算a+=1;
第3个回答  2014-06-25
输入软件里编译一下就知道结果了!

a=3; a+=(a<1)?a:1; printf(“%d”,a); 程序运行结果是
所以a=3+1=4。

a=3; a+=(a<1)?a:1; printf(“%d”,a);
这里a=3,a<1不为真,所以整个条件表达式(a<1)?a:1的值取1。所以a+=(a<1)?a:1就变成了a+=1,等价于a=a+1。原来a的值为3,所以a+1=4。然后把4再赋值给a。所以a的最后值为4。

...{ int a=3; a+=(a<1)? a:1; printf("%d\\n",a); } 请问它的结果为什么...
很明显,当对条件 a < 1 进行判断时,因为a = 3 因此判断结果为false ,将执行 :号后面的表达式---也就是1---也就是a += 1, 因为a =3 因此 a += 1 的最终结果为4 。 明白了吗? :)

...stdio.h fun(int x) { static int a=3; a+=x; return(a); }...
int fun(int x) { static int a=3; a+=x; return(a); } int main(int argc, char* argv[]){ printf("Hello World!\\n");int k=2,m=1,n;n=fun(k);n=fun(m);printf("%d",n);return 0;}

执行下列语句的结果是【1】,a=3;printf("%d,",++a);printf("%d",a...
结果4,4 ++a为a先自增,然后输出 a++为a先输出,然后自增

...{ int a =2; a%=4-1; printf(“%d”,a); a+=a*=
问题不完整啊,

170、以下程序段的输出结果是 int a=1234; printf("%2d\\n",a);
B, %2d的意思是输出占2位,若位数不够就不管了假如输出的数是9.对应的输出的 9。9前面有一空格

...main() { int a=0; a+=(a=8); printf("%d\\n",a); } 答案是16,求过 ...
a+=(a=8);相当 a=(a+(a=8))a=8 a=a+a=8+8=16 很简单

...{ int a=3,s,t; s=f(a+1);t=f((a+1)); printf("%d,%d\\n",s,t...
要这样定义宏:#define f(x) (x)*(x)*(x)不然有二义性的。像你这样定义f(x) x*x*x;传f(a+1)实际上运行的是f(a)+f(1)

C语言:a=3,a+=a-=a*a,求a
1.a=a-a*a=3-3*3=-6; 2.a=a+a=-6+(-6)==-12; 扩展资料: 先计算a*a=9,此时a=3,没变。a的最终值为-12。 a的最终值为-12。#include<stdio.h> intmain() { inta,min,max,mid;\/*定义变量*\/ scanf("%d%d%d"&a,&b,&c);\/*读取输入变量*\/ min=a<b&&a<a:(b<b:c); \/*取最...

相似回答