Tag: 增量

增量和减量运算符

#include int main() { int x = 4, y, z; y = –x; z = x–; printf(“%d %d %d”, x, y, z); } 输出: 2 3 3 有谁能解释一下? i =+ j是什么意思(假设i = 1且j = 2 )?

C – 增加char中的数字

是否可以在字符串中单独增加数字? 所以我要说: char someString = “A0001”; 有没有办法增加数字’0001’? 使其成为A0002,A0003等?

C:可变增量不起作用,摇滚,纸张,剪刀

我目前坚持使用我的RPS程序,因为它无法正确存储用户丢失或与计算机绑定的次数。 例如,当我运行程序并输入“q”退出时,我得到以下输出: 输入R,P,S或Q(退出) q 你赢了0次,而电脑打败了你1900022269次。 你们两人并列3次。 谢谢你来玩! 请注意,我已经玩了几个游戏而不是跑步和退出,并且还获得了“l”和“t”的错误值。 如果我将变量“w,l,t”定义为全局变量,它似乎有效; 但是,有没有办法使这些变量在declareWin函数的范围内? 码 int declareWin (int one, int two) { int w, l, t; if (one == 1 && two == 1) { printf(“You chose Rock, Computer chose Rock. Rock does not beat Rock.\n”); printf(“It is a tie!\n”); t++; } else if (one == 1 && two […]

为什么ICC在x86上的汇编中产生“inc”而不是“add”?

在摆弄简单的C代码的同时,我发现了一些奇怪的东西。 为什么ICC在为增量生成的汇编代码中生成incl %eax而不是addl $1, %eax ? GCC的行为与预期的一样,使用add 。 示例代码(GCC和ICC上使用的-O3 ) int A, B, C, D, E; void foo() { A = B + 1; B = 0; C++; D++; D++; E += 2; } ICC的结果 L__routine_start_foo_0: foo: movl B(%rip), %eax #5.13 movl D(%rip), %edx #8.9 incl %eax #5.17 movl E(%rip), %ecx #10.9 addl $2, %edx […]

cout和printf中的意外输出

可能重复: 谁能解释这些未定义的行为(i = i ++ + ++ i,i = i ++等…) 对于以下代码: main() { int i = 1 ; cout << i << ++i << i++ ; } 为什么我得到的输出为331而不是预期的输出,即122? (即使我使用printf而不是cout,情况也是如此?)

更改函数中某些内容的值

这是一个更大的测试用例,这就是为什么它的编写方式。 我如何制作这段代码,以便一个值继续递增? 在我的项目中,我调用一个从文件中解析一行的函数。 我需要将结构的值设置为在函数调用中设置的某些值(函数的参数在main函数中初始化,如下面的代码)。 int increment(int a) { a++; return 0; } int main() { int a =0; int b =0; while( b<5){ increment(a); b++; cout << "a is: " << a << ". And b is: " << b << "\n"; } system("PAUSE"); } 谢谢。

x + = 1比x = x + 1更有效吗?

在x = x + 1 , x评估两次? 如果是这样,这是指x += 1 , x只评估一次? 两个表达式如何根据编译器中间代码进行评估? 例如, x++可能意味着:获取x的位置,将x的内容加载到寄存器中,并在内存中增加x的值。 另外我已经读过,当x不是一个简单的变量,而是一个涉及数组的表达式时, x += 1很有用。 任何想法为什么会这样?