黑马程序员技术交流社区

标题: 这个为什么能运行? [打印本页]

作者: zzt244    时间: 2015-12-19 20:14
标题: 这个为什么能运行?

作者: zzt244    时间: 2015-12-19 20:15

#include <stdio.h>
int main(){

    int sum,add,c;
   
    c=sum>add?7:6;
   
    printf("%d\n",c);
   
    return 0;
}

运行出来的结果是7
作者: bengbeng84    时间: 2015-12-19 21:12
你是怎么算的?这个肯定是出来6,三目运算先做,条件是假,得6,再赋值给C
作者: zzt244    时间: 2015-12-19 22:58
bengbeng84 发表于 2015-12-19 21:12
你是怎么算的?这个肯定是出来6,三目运算先做,条件是假,得6,再赋值给C ...

同学,双目运算符的优先级是大于三目运算符的,这题我不懂在于我没有给sum和add赋值,为什么能运行?
作者: junjunzhang    时间: 2015-12-19 23:09
因为sum和add都没有赋值,里边存的都是垃圾数,要么sum大,要么add大,所以能运行,看你电脑的心情
作者: pn314754148    时间: 2015-12-19 23:21
66到没朋友。
作者: 优丶悠    时间: 2015-12-19 23:59
把其他数也打印下不就知道了
作者: lynn010    时间: 2015-12-20 14:30
你可以打印一下没有赋值的sum和add 还有就是你没赋值电脑也会给这两个变量垃圾值,是无意义的 这个是随机的 有可能下次运行就是6了 这个是不一定的
作者: 存在着的天空    时间: 2015-12-20 21:40
因为sum和add都没有赋值,里边存的都是垃圾数,要么sum大,要么add大,所以能运行,看你电脑的心情
作者: 594869964    时间: 2015-12-20 21:48
新人不懂....  默默看视频去  你加油
作者: 牛角尖、    时间: 2015-12-20 22:08
sum和add没有初值还是上次存储在内存中的值,,,,看运气了
作者: 木叶    时间: 2015-12-22 21:00
没有赋值,出来随机




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2