想学编程的Noob 发表于 2018-12-27 19:52:35

一个简单的小问题

#include "stdio.h"
int main(){
    int x,y,t;
    x=y=3;
   t= ++x || ++y;
   printf("%d%d%d",x,y,t);
    return 0;
}
为什么程序结束后x是4而y却是3

想学编程的Noob 发表于 2018-12-27 19:55:20


__ is correct if it is used as a character constant. (2分)
A. '\’
B. '\080'
C. '%d'
D. 0xa
然后为什么这题的B不对 我验证是没问题的啊

jkathly 发表于 2018-12-27 20:10:28

因为这里的||是逻辑符号,在进行++x||++y时,执行了前面之后,++x!=0,所以就不会执行后面的语句,因此++y并没有被执行。

sign 发表于 2018-12-27 20:40:01

emmm其实‘\080’应该是要表示一个八进制字符,但八进制只能用0~7表示,所以它是错的{:10_266:}感觉我表达不出来{:10_266:}

想学编程的Noob 发表于 2018-12-27 20:46:18

sign 发表于 2018-12-27 20:40
emmm其实‘\080’应该是要表示一个八进制字符,但八进制只能用0~7表示,所以它是错的感觉我表达 ...

好像知道了 总是忘记这个事。。。
页: [1]
查看完整版本: 一个简单的小问题