相关疑难解决方法(0)

++ i和i ++有什么区别?

在C中,使用++i和之间有什么区别i++,哪些应该在for循环的增量块中使用?

c for-loop pre-increment post-increment

818
推荐指数
19
解决办法
96万
查看次数

C++中的增量 - 何时使用x ++或++ x?

我目前正在学习C++,而且我刚刚学会了增量.我知道你可以使用"++ x"进行增量,然后使用"x ++"进行增量.

不过,我真的不知道何时使用两者中的任何一个...我从来没有真正使用过"++ x",到目前为止,事情总是很好 - 所以,我什么时候应该使用它?

示例:在for循环中,何时优先使用"++ x"?

此外,有人可以确切地解释不同的增量(或减量)如何工作?我真的很感激.

c++ pre-increment post-increment

83
推荐指数
7
解决办法
16万
查看次数

在javascript中减去等于 - 它是什么意思?

减号等于低于-=平均值/做什么?

$('#wrapper').animate({
    backgroundPosition: '-=2px'
})();
Run Code Online (Sandbox Code Playgroud)

谢谢

javascript jquery operators

9
推荐指数
2
解决办法
3万
查看次数

此函数输出的说明

我正在做复习问题,问我"以下内容的输出是什么",我在理解这个功能方面遇到了一些麻烦:

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.

c logical-operators integer-arithmetic output

5
推荐指数
2
解决办法
154
查看次数

即使增加地址后,指针的值也如何相同,对于变量而言,其值是不同的

在下面的程序中,对于不同的指针操作,我将获得相同的值:

#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在打印相同的值。随着我们增加指针地址,它应该有所不同

我能理解的变量的后增量和前增量,这里都是前增量

c pointers

2
推荐指数
1
解决办法
49
查看次数

c,按位,逻辑表达式

int x = 0;
x^=x || x++ || ++x;
Run Code Online (Sandbox Code Playgroud)

x的答案最后是3.如何分析这个表达式?对此有点困惑.非常感谢.

c

0
推荐指数
1
解决办法
217
查看次数

关于序列点的后增量

post增量运算符何时影响增量?我遇到了两个意见:

1)来自http://gd.tuwien.ac.at/languages/c/programming-bbrown/c_015.htm:

POST表示在任何赋值操作后执行操作.

2)言归正传,关于SO回答(虽然在C++上)说:

...将增量延迟到表达式结束(下一个序列点).

后增量操作也是如此......

A)等到达到序列点或

B)发布任务运营商或

C)在序列点之前的任何时间发生?

c sequence-points post-increment

0
推荐指数
1
解决办法
1237
查看次数

将int增加一个

在另一页我说过 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.

有人可以向我解释我做错了什么吗?

c#

0
推荐指数
1
解决办法
204
查看次数

why a pointer value is assigned before the increment operation is performed

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

c c++ pointers

0
推荐指数
1
解决办法
104
查看次数

我不明白为什么在这个程序中 a 等于 1 而 b 等于 0

我不明白为什么最后 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)

c printf operators post-increment

0
推荐指数
1
解决办法
91
查看次数