所以我必须为此做跟踪表,但我不了解代码中的所有内容,例如a == b; Ç - = - d; B + =一%10
int a=3,b=4, c=5,d=6;
if(a==b)c++;else c--;
while(d>2){
c-=--d; b-=a;
}
int a=3,b=0, c=7,d=5;
if(a=b)d++;else c--;
while(d>2){
c+=a;a+=--d;
}
int a=3,b=11, c=15,d=5;
if(a>b)d--;else c--;
for(;d>3;c/=a){
b=--d;
}
int a=31,b=14, c=95,d=56;
if(a<b)d++;else c--;
while(d>53){
b+=a%10;d--; a/=10;
}
答案 0 :(得分:1)
c -= --d;
平均
c = c - (--d);
同样如此
b += a%10
意味着
b = b + (a%10)
您可以使用*,/和%运算符
执行相同的操作- d表示在执行指令之前d减小,++ d意味着d将在指令执行之前增加
if(a==b)c++;else c--;
与更易读的
相同if (a==b)
{
c = c + 1;
}
else
{
c = c - 1;
}
答案 1 :(得分:1)
int a=3,b=4, c=5,d=6;
if(a==b) c++;
else c--;
while(d>2){
c-=--d; b-=a;
}
如果a和b相同,则==
运算符表示比较。在这种情况下,a和b是不同的,因此它转到else并将c变量递减为1。
- c之后意味着在执行指令之前减小了值。
所以,这意味着c将变为4。
虽然d > 2
,但意味着它会循环d > 2
。
c -= --d; b-=a;
这意味着:
c = c - --d
b = b - a
因此,这意味着每次循环执行时d的值将减少1,并且将保持循环直到它> 2。
int a=3,b=0, c=7,d=5;
if(a=b)d++;
else c--;
while(d>2){
c+=a;a+=--d;
}
=
运算符意味着分配一个值,因此当它执行a=b
时,它会将b
的值分配给a
但是因为它是0
},这意味着false
它将转到else并将c的值减少1。
所以c将变为6。
while循环与第一个类似。
int a=3,b=11, c=15,d=5;
if(a>b)d--;else c--;
for(;d>3;c/=a){
b=--d;
}
这个是非常简单的if语句。它检查a是否大于b。如果是这样,它执行d--,否则执行c - 。
对于for循环,它一直持续到d > 3
并且每次都执行c /= a
。
c /= a
也可以写为c = c / a
。
int a=31,b=14, c=95,d=56;
if(a<b)d++;else c--;
while(d>53){
b+=a%10;d--; a/=10;
}
最后一个if语句也很简单,类似于上面的语句。
while循环将执行到d > 53
。
b+=a%10;d--; a/=10;
内的命令也可以写成:
b = b + a % 10
d--
a = a / 10
答案 2 :(得分:0)
a==b
这是一个重要的布尔条件,它检查a是否等于b,如果是则返回true,否则返回false。这可以更改(已转换)为值{1或0的int
。
c-=--d;
我不喜欢编写这样的代码。
However c -= k statement is equivalent to c = c-k
and --d; is same as decrement d by 1.
代码在一个语句中完成这两件事。但秩序很重要。由于 - 来自d之前,首先评估此减量,然后考虑 - =运算符。
同样适用于+ =
我建议查找一个很好的C ++学习资源,例如www.cplusplus.com或www.learncpp.com