一道c语言例题,这里的k!i是什么意思

2021-02-26 15:39:07 字数 2789 阅读 2134

1楼:

这个问题复的源头在谭浩强,这是他在制c语言程序设计第一版说的:

这个错误在第二版就纠正了:

但是他的书影响比较大,所以至今仍有很多人在这个问题上犯错。

这种表达式属于c标准里的未定义行为,结果如何取决于编译器的实现,不同的编译器可能会有不同的结果。

2楼:人人顺风顺水

没完整**,bai姑且猜du一猜。两重循环,外循zhi环每次循环后dao都会得到一个本轮最小的内值,依次放在容a[0],a[1],...内循环是比较a[i]和其后所有数的大小,得到一个本轮“最小的数”。

好了,现在说说k和i的关系。如果k=i,说明本轮a[i]是最小的,如果不等于(k!=i),则说明a[i]后还有一个本轮最小的数(比这个数还小的数已经放在a[i]之前),接下来把它们交换位置就完成了本轮循环。

c语言中,k*=i是什么意思?

3楼:璐人钇

就是k=k * i的意思

//阶乘可以用递归

int jiecheng(int n)

return n * jiecheng(n-1);

}//用循环加起来

int sum = 0;

for (int i = 1; i < 13; i++)

4楼:uspta郑州站

k*=i等价

于k=k*i;

/*2!+3!

*/ #include

int main()

c语言中,m=(k+=i*=k)是什么意思啊

5楼:减数**

先:i=i*k 再:k=k+i; 再:m=k

6楼:恰浅

从后往前来:

1、i=i*k

2、k=k+i;

3、m=k

7楼:智萌丽卉

k!=i:这个是k不等于i的意思,不是阶乘。

for(i=0;i

{k=i; //默认i下标最小,存入k中for(j=i+1;j

if(x[j]>x[k])k=j;//如果j下标的数比k下标的大,则k存储j下标

if(k!=i)//如果k和i不相等,则把k下标的数和i下标的进行互换,相等就不用换了

{t=x[i];x[i]=x[k];x[k]=t;}}

c语言中k=i==j是什么意思

8楼:存情小青年

要知道==的优先级是高于=的;

也就是先运算i==j,把运算得到的值赋值给k。

9楼:叫大爷

(i!=k)&&(i!=j)&&(j!=k)i不等于k而且i不等于j 而且j不等于k

就是在这三个数不相等的情况下

这样可以么?

10楼:沧海雄风

k=(i==j) 意思是 如果i==j则为真 1 k=1 ,如果i!=j 则为假 k =0

11楼:ai看雪

if i==j

k = 1

if i!=j

k = 0

有一道题,c语言中i=0,什么意思

12楼:匿名用户

让变量i的值为0;就是从第0个元素开始,c中,数组下标从0开始,到n-1结束(n是数组的元素个数)

c语言中,k=i < j ? i:j;什么意思,谢谢啦

13楼:是否忘记了一切

从右至左赋值bai

首先 i=j

其次 x = x*i

这个问题du最主zhi要的问题在于它的多dao赋值情况一定要版分清楚优权先级

一个完整清晰的思路 才能保证程序运行的稳定如果你记不住它们的优先级 完全可以用小括号来区分这样,不论谁的优先级高低 都是从括号开始运算的就拿你的这个例子做个比喻 倘若就是记不清楚优先级则可以:

x *=(i=j)

虽然这个括号加不加,运算的结果都是一样的,但是这样更容易你阅读程序不论是后期的调试,还是他人的阅读,都可以一目了然这又涉及到了一个编程习惯问题了

养成一个良好的编程习惯,对你的工作学习都会有很大的帮助的好了,又扯远了,呵呵~

希望能帮助你点什么...

14楼:匿名用户

k = i < j ? i : j;

是一条赋值语句,=左边是变量k,右边是表达式i < j ? i : j

这是一个条件内表达式。?前是条件i < j,?与容:

之间是当条件成立时(真分支)该求值的表达式i,:后面是条件不成立时(假分支)该求值的表达式j。根据条件成立与否,整个条件表达式的值为相应真假分支的表达式的值。

所以,如果i 小于 j,i的值成为整个条件表达式的值,如果i不小于j,j的值成为整个条件表达式的值。

所以整个赋值语句的意思是把条件表达式的值赋给变量k。

15楼:紫蓝de天空

【回答】

当ij 则k=j

即如果i小于j,则将i的值赋于k,否则则将j的值赋于k望采纳

16楼:匿名用户

三目运算 就是 判断一下i 与 j的大小关系 符合小于关系 就把 i 赋值给 k 不符合 就把 j 赋值给 k

17楼:柳光笺

if(i

else

C语言K++是什么意思,C语言 K++什么意思

1楼 贪吃的xiao熊 k 3 就是 k k 3的意思 c的值是 b ,那么进入switch语句时为第二条case语句,执行k 2,此时k 6,由于没有break语句,即不跳出switch,那么继续执行第三条case语句,此时k 7,输出结果,完毕! 延展 c语言 c语言是一门通用计算机编程语言,应...

c语言中sk是什么意思,c语言中 k*=2 是什么意思

1楼 匿名用户 相当于 s k,取结构体中k的值 2楼 匿名用户 struct studentstu s stu k s k s是指向结构体的指针 3楼 发烧友eri画家 s是结构体指针,指向结构体中的变量k 也就是k的值 c语言中s k是什么意思 4楼 匿名用户 就是s s k的意思就是把s的值加...

c语言for(i 0,j 10 ij,i-j ij中ij是什么意思

1楼 匿名用户 for 循环中间的语句是循环结束的条件 是个bool值,true和false i逗号表达式 就是逗号分隔的若干个表达式,逗号表达式最后的结果是 最后一个表达式的值 也就是i j的值 c语言中 非0为真,0为假 也就是i j 为0整个循环就结束了 2楼 匿名用户 判断循环是否结束的条件...