我学了一段时间的C,但有些东西还是不太只知道
----------------解决方案--------------------------------------------------------
而算术运算就是从=号开始从左往右算了
能就用?:举个例子吗?
----------------解决方案--------------------------------------------------------
printf("%d",n=(y=4?y:(y/=2)));
执行的过程是:
y = 4;
if( y != 0)
n = y;
else
{
y /= 2;
n = y;
}
printf("%d", n);
----------------解决方案--------------------------------------------------------
13楼结果写的不错,可是这样写不太好,我认为还是这样写不错的
#include "stdio.h"
main()
{
int n;
int y=4;
if (y=4)
n=y;
else
y=y/2;
printf("结果是%d\n", y);
getch();
}
我个人认为如果IF学的好,就可以不学这橙皮
----------------解决方案--------------------------------------------------------
#include <stdio.h>
main()
{
int n;
int y=4;
printf("%d",n=(y==4?y:(y/=2)));//是条件语句,用 == 而不是 =
}
这个?:不是从右向左吗?怎么还是输出4.help!!!!!!
----------------解决方案--------------------------------------------------------
?: 在嵌套的形式下其执行顺序是从右往左,在上面的程序里printf只是单一输出的n值,不存在从右往左的顺序,而对于?:的程序执行顺序,13楼给的herbert描述的已经很清楚了
----------------解决方案--------------------------------------------------------
其实就是条件语句的简单写法,条件语句当然要先检测条件。
----------------解决方案--------------------------------------------------------