请教:k=i+++j 的计算过程,为什么
来源:百度知道 编辑:UC知道 时间:2024/06/02 22:22:21
k=i+++j算术运算符自左向右结合,所以理解为:k=(i++)+j
考试写成这个 可以说出题的人无聊 可以无视
自已写程序写成这样就是找抽。
谁考你这个你就抽他。至少现状是,不同编译器会有不同结果。
----
实际编译器未必会按照标准处理,把多个赋值运算混合在一个表达式里是很冒险的写法。
这个题目考的不是编译器,实际结果跟编译器也无关,对于ANSIC,有一种maximalmunch strategy(最大一口策略),这种策略表示如果下一个标记有超过一种的理解方案,编译器将选取组成最大字符序列的方案,所以这个例子将被解释为k = i++ + j;而不是 k = i+ ++j;这样就好办了吧。先计算i + j,然后将值赋值给k,然后i自增
不同的编译器,会有不同的规定.
你最好加上括号,这样就明白了.
若 x,i,j,k 都是 int 型变量,则计算 x = (i=4,j=16,k=32) 后,x的值为:______。
if (i!=k&&i!=j&&j!=k) 中!的意思是什么?
c语言中一条语句 if (i!=k&&i!=j&&j!=k),其中的&什么意思
急!int i=1,,j=1,k=3,则表达式!&&(i+j)&k|i+j的值是多少?
int i,j,k;
求i,j,k.
i,j,k是int,i=j=k=-1,执行i++||++j&&++k后,ijk的值分别变成了0,-1,-1,请问k的值为什么是-1?
为什么要i--和j--以及j=k和k=j?
A=2i-3j+k B=i+j-2k A×B=?
if ( (i!=j) && (i!=k) && (j!=k)中!如何理解