For loop 谁能告诉我';对于';这个程序的行代码是这样的,我不明白第二部分的问号 #包括 #包括 int main() { int x,i=2,k=1; 对于(x=15;x%i?++i:++k,1
这是三元运算符。有关更多详细信息,请在上面搜索,但基本上,如果For loop 谁能告诉我';对于';这个程序的行代码是这样的,我不明白第二部分的问号 #包括 #包括 int main() { int x,i=2,k=1; 对于(x=15;x%i?++i:++k,1,for-loop,For Loop,这是三元运算符。有关更多详细信息,请在上面搜索,但基本上,如果?左侧的部分为true,则整个表达式的计算结果为:左侧的值。如果?左侧的部分为false,则整个表达式的计算结果为t上的值他拥有:的权利 #include<stdio.h> #include<stdlib.h> int main () { int x, i=2, k=1; for (x=15; x%i ? ++i : ++k, 1<x ; x-- , i++) {
?
左侧的部分为true,则整个表达式的计算结果为:
左侧的值。如果?
左侧的部分为false,则整个表达式的计算结果为t上的值他拥有:
的权利
#include<stdio.h>
#include<stdlib.h>
int main ()
{
int x, i=2, k=1;
for (x=15; x%i ? ++i : ++k, 1<x ; x-- , i++)
{
x -= k+i;
i++;
printf("X = %d , I = %d , K = %d\n",x,i,k);
}
switch(x) {
case 2: printf("Display 2.\n");
case 5: printf("Display 5.\n");
case 0: printf("Display 0.\n");
break;
default:
printf("Display default\n");
}
system("pause");
return 0;
}
两个示例相同。它是伪代码。:)
如果条件为真,则执行左侧,否则执行右侧
在您的示例中,作者将条件放入for循环,但逻辑是相同的
你可以阅读更多,哪一部分?你不明白?语言和标准是什么?需要小心使用x%i的排序点?++i:++k这真的很有用,我知道这听起来很愚蠢(这里只是个初学者),但是(x%i)在本文中的意思是什么。参见;)在大多数编程语言中,%的名称是模
x%i ?< ++i : ++k
int iterate(){
if( x%i == 1 ) {
return ++i;
}else{
return ++k;
}
}
for (x = 15; iterate() ; 1...)
if (1 == 1){
they are equal;
} else {
they are not equal
}
1 == 1 ? they are equal : they are not equal