C语言中条件表达式的问题

在刘汝佳的一本算法书里有这样一段代码
int d(int i,int j)
{
return a[i][j]+(i == n ? 0 : d(i+1,j)>?d(i+1,j+1));
}
后面那个">?"VC6编译时根本通不过啊,有这么写的么?

三目运算符吧
是这么写的 :?
比如说

<表达式1>?<表达式2>:<表达式3>; "?"运算符的含义是: 先求表达式1的值, 如果为真, 则求表达式2 的值并把它作为整个表达式1的值; 如果表达式1 的值为假, 则求表达式3 的值并把它作为整个表达式1的值.

可是你那个写的我就不知道怎么回事了,也有可能是印刷错误?书上有输出结果吗?比着结果再看程序。。。。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-07-23
那个问号应该是多了吧。
(i == n ? 0 : d(i+1,j)>d(i+1,j+1));
返回:i=n时,返回0,
i!=n时,d(i+1,j)>d(i+1,j+1)的比较结果返回1或者0.

估计是数组里,对应第n行,a相应元素+0不变
其他行看d(i+1,j)>d(i+1,j+1)的比较结果,对a[i][j]进行操作
a[i][j]+1或者不变。

也不知道用来干什么的。。

1、在C语言中,条件分支结构中的条件表达式应该返回什么类型的值?
在C语言中,条件分支结构中的条件表达式应该返回一个整数类型的值,即表达式的结果应该是一个整数,可以是int、char或enum类型。这是因为条件分支结构中的条件表达式需要判断真假,只有整数类型的值才能被判断为真或假。在C语言中,0被视为假,非0的整数被视为真。如果条件表达式返回的是其他类型的值(...

c语言条件表达式的结果是什么?
选择答案A,执行条件表达式后的结果为1。执行的结果:首先比较a和b的大小,当ab为1的时候那么会执行表达式c<d?c:d,然后比较c和d的大小,如果c小于d那么表达式的结果就为c,如果c大于d,那么表达式的结果为d。因为a=1,b=2,所以a

c语言条件表达式问题
C语言中,逻辑表达式(这里也包括关系表达式)的值是0或1,0表示逻辑假,1表示逻辑真。但当任何其它非构造(struct等)类型表达式值作为逻辑表达式时,非零值(二进制位不都为0)表示真,零值(所有的二进制位都为0,例如0、(void*)0、(float)0、NULL等,不论类型)表示假。因此答案应该是AB。(LZ...

c语言什么情况if后面用两个等号
在C语言中,if语句的条件表达式中使用两个等号(==)表示相等比较运算符。当使用if语句时,条件表达式需要返回一个布尔值(true或false)。通过使用相等比较运算符,可以判断条件表达式的两个操作数是否相等,如果相等则条件表达式的结果为true,执行if语句中的代码块。下面是一个示例代码:```cint x = ...

C语言问题:条件运算符选择题
2) 条件运算符?和:是一对运算符,不能分开单独使用。3) 条件运算符的结合方向是自右至左。例如:a>b?a:c>d?c:d 应理解为 a>b?a:(c>d?c:d)这也就是条件表达式嵌套的情形,即其中的表达式3又是一个条件表达式。k<a?k:(c<b?c:a)-4<3正确就是K=4 这个没有答案 K=-4...

c语言中条件运算符:问题
a % 2?printf("偶数\\n"):printf("奇数\\n");当a为偶数时,那么a%2这个表达式的值为0,0表示为假,就会执行printf("奇数\\n")语句。当a为奇数时,那么a%2这个表达式的值为1,非零为真,所以1表示为真,就会执行printf("偶数\\n")语句。所以结果与现实相反了。

关于C语言中条件表达式与if语句的问题
“从功能上讲,源文件中的if语句和条件表达式等价”-- 是的。编译器的问题。MS VC++ 编译器, 用条件表达式和if语句 都得到一样的正确结果。TC 编译器 功能差,不要使用 花里胡俏 的 条件表达式 代替 if语句。

C语言条件表达式
条件表达式的一般形式:表达式1?表达式2:表达式3 含义:若条件表达式1的值非0,则该条件表达式的值是表达式2的值,否则是表达式3的值。例如:1、max=((a>b)?a:b)就是将a和b二者中较大的一个赋给max。2、min=(a

C语言的条件表达式中不能用赋值=对吗?
如果是条件表达式,需要用==,<= 和 >=这类的运算符,不能用 = 赋值符号,注意,一个等号是赋值符号。

C语言条件表达式?
条件表达式的一般形式为:表达式1?表达式2:表达式3 C语言的基本构成:1、数据类型 C的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。2、常量与变量 常量其值不可改变,符号常量名通常用大写。变量是以某标识符为名字,...

相似回答