在C中,使用++i和之间有什么区别i++,哪些应该在for循环的增量块中使用?
我目前正在学习C++,而且我刚刚学会了增量.我知道你可以使用"++ x"进行增量,然后使用"x ++"进行增量.
不过,我真的不知道何时使用两者中的任何一个...我从来没有真正使用过"++ x",到目前为止,事情总是很好 - 所以,我什么时候应该使用它?
示例:在for循环中,何时优先使用"++ x"?
此外,有人可以确切地解释不同的增量(或减量)如何工作?我真的很感激.
减号等于低于-=平均值/做什么?
$('#wrapper').animate({
backgroundPosition: '-=2px'
})();
Run Code Online (Sandbox Code Playgroud)
谢谢
我正在做复习问题,问我"以下内容的输出是什么",我在理解这个功能方面遇到了一些麻烦:
int a = 1, b = 1, c = -1;
c = --a && b++;
printf("%d %d %d", a, b, c);
Run Code Online (Sandbox Code Playgroud)
输出是010.我的问题是关于第2行,c = --a && b++.如何处理此行,以及它如何工作/更改值?如果是的话c = --a || b++?从我的理解,我认为输出将是020.
在下面的程序中,对于不同的指针操作,我将获得相同的值:
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
int main(void) {
int i;
int *ptr = (int *)malloc(5 * sizeof(int));
for (i = 0; i < 5; i++)
*(ptr + i) = i;
printf("%d ", *ptr++);
printf("%d ", (*ptr)++);
printf("%d ", *ptr); ---------> o/p: 2
printf("%d ", *++ptr);--------> o/p: 2
printf("%d ", ++*ptr);
}
Run Code Online (Sandbox Code Playgroud)
输出: 0 1 2 2 3
我的疑问是如何*ptr以及*++ptr在打印相同的值。随着我们增加指针地址,它应该有所不同
我能理解的变量的后增量和前增量,这里都是前增量
int x = 0;
x^=x || x++ || ++x;
Run Code Online (Sandbox Code Playgroud)
x的答案最后是3.如何分析这个表达式?对此有点困惑.非常感谢.
post增量运算符何时影响增量?我遇到了两个意见:
1)来自http://gd.tuwien.ac.at/languages/c/programming-bbrown/c_015.htm:
POST表示在任何赋值操作后执行操作.
...将增量延迟到表达式结束(下一个序列点).
后增量操作也是如此......
A)等到达到序列点或
B)发布任务运营商或
C)在序列点之前的任何时间发生?
在另一页我说过 nr = 0
var number = this.NavigationContext.QueryString["nr"];
int Nr = Convert.ToInt16(number);
Run Code Online (Sandbox Code Playgroud)
这有效, Nr = 0
现在我想将Nr升级为1:
int next = Nr++;
Run Code Online (Sandbox Code Playgroud)
不幸的是,这也不起作用next = 0,但它应该是1.
有人可以向我解释我做错了什么吗?
Why does *p++ first assign the value to i and then increment the p pointer, even though ++ post-increment has a higher precedence, and associativity is from Right-to-Left?
int main()
{
int a[]={55,66,25,35,45};
int i;
int *p=&a;
printf("%u \n",p);
i=*p++;
printf(" %u %d",p,i);
printf("\n %d",*p);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
4056 4060 55 66
我不明白为什么最后 a 等于 1 而 b 等于 0。在我看来,它们应该是一样的。提前致谢。
#include "stdio.h"
int main()
{
int a=0;
int b=0;
a++;
printf("a=%d,b=%d",a,b++);
return 0;
}
Run Code Online (Sandbox Code Playgroud)