标签: variable-assignment

C++指针混乱

在定义指针变量时,我们使用看起来像的代码

int *ip;
Run Code Online (Sandbox Code Playgroud)

但我们也可以在同一行初始化指针,指出一个随机定义的变量,即x.

int x;
int *ip = &x;
Run Code Online (Sandbox Code Playgroud)

我们也可以在另一行代码中初始化指针变量,例如,

int x;
int *ip;
ip = &x;
Run Code Online (Sandbox Code Playgroud)

我的问题是,当我*ip用来初始化指针变量时,

int x;
int *ip;
*ip = &x;
Run Code Online (Sandbox Code Playgroud)

Visual Studio给出错误:

错误C2440'=':无法从'int*'转换为'int'

有人可以向我解释一下,我刚刚开始学习C++.

c++ pointers initialization variable-assignment

-3
推荐指数
1
解决办法
245
查看次数

为什么const char INITIAL ='G'不是赋值语句?

我在理解这个陈述时遇到了问题.我不知道为什么这和其他人不一样.

c c++ initialization variable-assignment

-3
推荐指数
1
解决办法
113
查看次数

为什么表达式可以在函数调用中跨越多行而不是赋值?

我刚刚意识到,当它作为参数传递给函数时,可以跨多行拉伸语句:

print(1 == 
  1)
Run Code Online (Sandbox Code Playgroud)

但是,在变量赋值期间执行相同的操作会引发SyntaxError:

x = 1 ==
  1
Run Code Online (Sandbox Code Playgroud)

为什么第一个例子有效但第二个例子产生了SyntaxError

python expression indentation parameter-passing variable-assignment

-3
推荐指数
1
解决办法
65
查看次数

为什么while循环的条件表达式中赋值操作的行为不同?(CPP)

我尝试了x+=1,x=x+1在while循环的条件下.

x = 0 // Initial value of x
Run Code Online (Sandbox Code Playgroud)

第一个案例

while(x+=1 && x < 5){
    cout << x << endl;
}
Run Code Online (Sandbox Code Playgroud)

第二个案例

while(x=x+1 && x < 5){
    cout << x << endl;
}
Run Code Online (Sandbox Code Playgroud)

第一个案例和第二个案件令人费解.是什么在行为的区别x+=1x=x+1这两个进入无限循环(由于短路).但是第一种情况下x的值被置于1.

有什么想法吗 ?

根据Is x + = 1比x = x + 1更有效吗?,大多数编译器(好)优化并做同样的事情.

我正在使用的编译器 - gcc版本5.4.0

c++ variable-assignment while-loop

-4
推荐指数
1
解决办法
328
查看次数

如何设置一个设置为"1"的计数器

我不知道发生了什么,但我无法得到这个.

我已经做了很多非常相似的问题,但由于某些原因我无法得到这个问题.

我正试图做一个反击.

      (define (make-counter init)
           (let ((count init))
             ((lambda (x)
           (begin (set! count (+ count x)) count))1)))
Run Code Online (Sandbox Code Playgroud)

它不会起作用.我如何将状态引入其中?我不知道我以为我知道但它不起作用.我认为创建一个像这样的局部变量会使它工作,但事实并非如此,无论我做什么,价值永远不会改变.我的问题是使初始值可调,我可以让它工作没有它,但不是.

scheme variable-assignment

-5
推荐指数
1
解决办法
495
查看次数

如果有条件,php是否存在将变量赋值给变量的错误?

请看这段代码:

function getVar(){
    return "some string";
}

function test1(){
    if($a = getVar()){
        echo $a;
    }
}

function test2(){
    if($a = getVar() && $b = getVar()){
        echo $a;
    }
}

//test1();
test2();
Run Code Online (Sandbox Code Playgroud)

我想你会明白发生了什么.刚刚尝试test1()test2()

为什么要test2()制作$a 1

php if-statement variable-assignment

-5
推荐指数
1
解决办法
110
查看次数

有人可以解释为什么编译吗?

我是Python的新手,正在尝试并运行了以下代码:

a=13
a==14
print(a)
Run Code Online (Sandbox Code Playgroud)

我希望该程序不会由于第二行而编译,尽管令人惊讶的是它可以编译(尽管我看不到它所做的任何更改)。有人可以解释为什么吗?如果我使用a===14而不是a==14错误。

python variable-assignment assignment-operator python-3.x

-9
推荐指数
1
解决办法
82
查看次数

这三种变量赋值之间的差异

在Python中,似乎我可以执行以下3个变量赋值中的任何一个:

g = (3, 4, 5)

g = "(3, 4, 5)"

g = 3, 4, 5
Run Code Online (Sandbox Code Playgroud)

其次是

print(g)
Run Code Online (Sandbox Code Playgroud)

并且输出总是如此

(3, 4, 5)
Run Code Online (Sandbox Code Playgroud)

那么,这三种变量赋值之间的区别是什么?

python variable-assignment

-21
推荐指数
1
解决办法
165
查看次数

为什么我们不能在 if 语句中声明变量?

我知道 Stack Overflow 上有这样的问题,但我想知道为什么我们不能在if语句内声明变量,这样我们就可以通过利用if作用域来节省空间。

例如,如果我写:

if (int i) {
    ...
} 
Run Code Online (Sandbox Code Playgroud)

i那么我只能在范围内使用if,但是如果我将其写在语句之外if,那么i变量应该在整个块的内存中。

java scope if-statement variable-assignment

-39
推荐指数
1
解决办法
1876
查看次数