小编use*_*501的帖子

为什么Python 3和C中的if语句有不同的结果?

我希望打印的值是"200!" 和"404!" 在Python3.4中.但我得到的结果是"200!" 和"别的!".

我做了一个奇怪的面孔 - 并在C中再次尝试.C中的结果与Python3中的结果不同.为什么?

Python3.4代码

def chk(s): 
    if s is 200:
        print('200!')
    elif s is 404:
        print('404!')
    else:
        print('else!')

chk(200)
chk(404)
Run Code Online (Sandbox Code Playgroud)

Python3.4代码结果

200!
else!
Run Code Online (Sandbox Code Playgroud)

C代码

#include <stdio.h>

void chk(int s) {
    if (s == 200)
        printf("200!");
    else if (s == 404)
        printf("404!");
    else
        printf("else!");
}

int main(void) {
    chk(200);
    chk(404);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

C代码结果

200!404!
Run Code Online (Sandbox Code Playgroud)

c python-3.4

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

标签 统计

c ×1

python-3.4 ×1