小编Lui*_*off的帖子

为什么在C89中为整数除法得到不同的值?

例如,假设您有以下变量:

int i = 9;
int j = 7;
Run Code Online (Sandbox Code Playgroud)

根据实现,,,的值(-i)/j可以是–1–2.怎么可能得到这两个不同的结果?

c c89

4
推荐指数
2
解决办法
203
查看次数

为什么你可以在内部使用函数repr(y)而不是str(y)使用eval()?

以下是我发现并希望有人解释的一些代码.

如果我将一个字符串赋给变量y,用eval函数计算它并将内容分配给变量y2,解释器返回true.

>>> y = 'a string'
>>> y2 = eval(repr(y))
>>> y == y2
>>> True
Run Code Online (Sandbox Code Playgroud)

以这种方式使用str(y):

>>> eval(str(y))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1
a string
       ^
SyntaxError: unexpected EOF while parsing
Run Code Online (Sandbox Code Playgroud)

不被允许.这是为什么?

python string eval repr

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

标签 统计

c ×1

c89 ×1

eval ×1

python ×1

repr ×1

string ×1