C语言 t=(i<n-1)?8:((p>0)?p:8); 什么意思

如题所述

第1个回答  2012-12-13
首先判断P是否大于0;是则输出P,否则输出8;然后判断i是否小于N-1;是则输出8,否则输出第一次判断后的结果(p或8)
第2个回答  2012-12-13
这是一个条件判断句,如果条件成立就取冒号前面,否则就取后面,你在综合优先级算一下。
第3个回答  2012-12-13
先求表达式1的值, 如果为真, 则执行表达式2,并返回表达式2的结果 ; 如果表达式1的值为假, 则执行表达式3 ,并返回表达式3的结果.
第4个回答  2012-12-13
如果 i<n-1,t=8,反之t=((p>0)?p:8),p>0时,t=p,p<=0时t=8.
第5个回答  2012-12-13
if i<n-1 成立 t=8
else t=(p>0)?p:8(这里又做判断 if p>0 成立 t=p else t=8)本回答被提问者采纳

C语言 t=(i<n-1)?8:((p>0)?p:8); 什么意思
首先判断P是否大于0;是则输出P,否则输出8;然后判断i是否小于N-1;是则输出8,否则输出第一次判断后的结果(p或8)

c语言中i<=n-1是什么意思
就是很直白的,判断i是否小于等于n-1。

...i=n-1;i>=0;i--)这个以及以下的这些是什么意思?
程序作用是将a中的数据按照倒序存放到数组b中,即b[0]=a[n-1]; b[1]=a[n-2]; ...; b[n-1]=a[0];

...条件就已经是i<=n-1了,为什么还要判断if(i<n)呢??求解释。
这是因为如果没有发生break退出;则退出时的i已经超过n-1,即i=n了。所以在这里用i<n作为判定是否素数的条件。

c语言求。圆周率,我的代码运行出来的答案是8,帮忙看看为什么
include<stdio.h>#include<math.h>void main(){ double p=0,q=0; int i; for(i=1;;i++){ p+=6*1.0\/(i*i); q+=4*1.0*pow(-1,i+1)\/(2*i-1); if(fabs(sqrt(p)-q)<1e-6) break; } printf("PI is %lf,项数为%d",q,i);} ...

在C语言中?:表达式是什么意思?
一、表达式的意义 [1]引表达式,是由数字、算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合。约束变量在表达式中已被指定数值,而自由变量则可以在表达式之外另行指定数值。给与自由变量一些数值指定,可能可以给与一个表达式数值,即使对于一些自由变量的值,表示式...

...要求把下标从0到p(p小于等于n-1)的数组元素平移到最后。
void fun(int *w, int p, int n) \\x0d\\x0a{ \/\/只需要完成此部分功能即可\\x0d\\x0aint b[N],i,j;\\x0d\\x0afor(i = 0; i <= p;i++)\\x0d\\x0a{\\x0d\\x0ab[i] = w[i];\\x0d\\x0a}\\x0d\\x0afor(i = 0; p+1+i < n;i++)\\x0d\\x0a{\\x0d\\x0a...

c语言这个代码是什么意思 n=i<8?0:1;
实际这个表达式是这样解释的:(exp)?value :value exp=n=(i<8)if (i<8)为真 即 (i<8)==1 执行(i<8)赋值为0 if(i<8) 为否 即(i<8)==0 执行(i<8)赋值为1 看I的值为多少如果小于8 那么n=0 如果大于8 那么n=1 ...

(C语言)请问出了什么问题导致最后运行出来没有下半部分的内容?
主函数里面的question是声明不是调用 把void去掉就好了

c语言把二进制数转换成十进制数的程序怎么写。
按照如下步骤即可用C语言把二进制数转换成十进制数的程序:1、首先在主函数中设置成函数Sum,另外定义了一个数组array[8],用于存放输入的八位二进制数。2、然后使用了一个for循环语句,用于输入八位二进制数。在scanf函数里,在%d之间加一个1,然后使用printf函数输出,并且调用Sum函数,数组名作为实参...

相似回答