小编Pol*_*000的帖子

C++中i ++和(i)++之间的区别

int i = 3;
int j = (i)++;
Run Code Online (Sandbox Code Playgroud)

VS

int i = 3;
int j = i ++;
Run Code Online (Sandbox Code Playgroud)

虽然上面两个例子都存储了3个__CODE__,但上述两个案例的评估方式是否存在差异?

既然__CODE__是a __CODE__,那么__CODE__第一种情况是否会被评估为表达式,这相当于递增rvalue?或者它是未定义的行为,只是恰好存储3 __CODE__

或者我是否过度思考它只是一个简单的后缀?

c evaluation increment language-lawyer

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

为什么我不能在将numpy的别名设置为np之后从np导入数组,尽管使用from关键字和numpy有效?

为了更清楚:

import numpy as np
from numpy import array
Run Code Online (Sandbox Code Playgroud)

这按预期工作.但是这个怎么样:

from np import array
Run Code Online (Sandbox Code Playgroud)

输出是:

Traceback (most recent call last)
  <ipython-input-21-d5c81fa93e5f> in <module>()
    ----> 1 from np import array
ModuleNotFoundError: No module named 'np'
Run Code Online (Sandbox Code Playgroud)

一旦我将导入的模块的别名设置为numpy np,我是否应该只能使用np导入其他内容?

此外,id()这两个是一样的-既numpynp指同样的事情.

python importerror python-3.x

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

在声明变量时进行初始化与在c中的单独行上进行比较

请注意,我正在执行此奇怪的任务不是因为我不清楚语法或对c还是陌生的。

我只是在尝试如果将一个int分配给一个数组会发生什么:

int a = {1, 2, 3};
Run Code Online (Sandbox Code Playgroud)

为此,我收到以下警告:

 warning: excess elements in scalar initializer
  int a = {1, 2, 3};
              ^
warning: excess elements in scalar initializer
  int a = {1, 2, 3};
                 ^
Run Code Online (Sandbox Code Playgroud)

当我打印a的内容时,我得到1

但是当我这样做时:

int a;
a = {1, 2, 3};
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

error: expected expression before ‘{’ token
  a = {1, 2, 3};
      ^
Run Code Online (Sandbox Code Playgroud)

尽管我知道数组不是要分配给int变量的,但以上结果使我提出了疑问:

  • 之间的差异int x; x = ...int x = ...

  • 究竟是什么引起警告或错误消息?

c arrays initialization variable-assignment

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

需要有关此代码如何工作的解释

我在大学学习C,但我不理解教授写的这段代码,也没有解释(我知道它会向下一个数组元素添加一个从0到99的随机数,但不知道如何)

srandom(time(NULL));

for(i = 0; i < n; i++)
    a[i] = i == 0 ? random() % 100 : a[i-1] + random() % 100;

Run Code Online (Sandbox Code Playgroud)

尽管它可以按预期工作,但我只想了解它如何在不带“ + =”或类似内容的情况下将数字添加到下一个数组元素。

c

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