首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

()括号算运算符?//如何知道x=1还是0呢?

2013-09-28 
()括号算运算符?//怎么知道x1还是0呢???#include stdafx.hint _tmain(int argc, _TCHAR* argv[]){int j

()括号算运算符?//怎么知道x=1还是0呢???
#include "stdafx.h"


int _tmain(int argc, _TCHAR* argv[])
{
int j = 1;
int x;
int r;
printf("%d\n",(j?x=1:x=0)?r=1:r=0);
    return 0;
}

[解决办法]
先不说C语言里的运算符优先级,你数学式子里的()总该知道是什么意思吧,这里也一样,比其他语句都要优先执。

j?x=1:x=0是一句三目运算符,换成if语句就是


if(j)
    x=1;
else
    x=0;

这里有2层?:,先算()里的,根据j的值是否非0来判断x为1还是0,然后根据x的值判断r为1还是为0,最后输出结果r的值。

热点排行