99问答网
所有问题
C语言 解释一下为什么
int a=5,b=6,w=1,x=2,y=3,z=4;
(a=w>x)&&(b=y>z);
为什么a=0,b=6。
解释一下程序的流程
举报该问题
推荐答案 2008-06-26
首先你得明白运算的优先级别,如下:
优先级是对多个函数并列时候优先算法的特权,没有注意优先级的顺序就会把算法出错,这些优先级是必须记住的。
下面的是我自己总结的关于C优先级的口诀.
当然,应用这个口诀的前提是你必须认识所有的C语言的运算符。
优先决
括号成员第一; //括号运算符[]() 成员运算符. ->
全体单目第二; //所有的单目运算符比如++ -- +(正) -(负) 指针运算*&
乘除余三,加减四; //这个"余"是指取余运算即%
移位五,关系六; //移位运算符:<< >> ,关系:> < >= <= 等
等于(与)不等排第七; //即== !=
位与异或和位或; //这几个都是位运算: 位与(&)异或(^)位或(|)
"三分天下"八九十;
逻辑或跟与; //逻辑运算符:|| 和 &&
十二和十一; //注意顺序:优先级(||) 底于 优先级(&&)
条件高于赋值, //三目运算符优先级排到 13 位只比赋值运算符和","高//需要注意的是赋值运算符很多!
逗号运算级最低! //逗号运算符优先级最低
"<"">"符号在c语言中运算的结果为0或1即假或真,"="在c中的意思是赋值,既是把右边的值给左边。对于(a=w>x)&&(b=y>z); w>x显然不成立即结果为0,所以a=0。由于“&&”是“且"运算,当”&&“同为真时才为真,由于a=0,即&&前面为假,语句(a=w>x)&&(b=y>z);就为假,不会对下一语句(b=y>z)运算,b的值保持不变。
所以结果是a=0,b=6
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://99.wendadaohang.com/zd/BOvt7OzX.html
其他回答
第1个回答 2008-06-26
首先 做a=w>x,因为w>x为假,所以a=0(0表示假,非真即假)
又因为前者的a=0,即前者为假,所以直接短路掉&&后面的内容不做,b仍然为6
相似回答
C语言中
的问题不明白
为什么
新人麻烦详细
解释一下
谢谢
答:
这里scanf指定逗号为输入的分隔符号。所以输入时数字和字符之间必须有逗号。scanf不指定分隔符时,默认以空白字符(空格、回车、制表符)为分隔符。PS:如果写%d%c不指定分隔符号。由于第二个变量是字符型,输入时中间不要加空格符,否则会将空白符号做为字符接收。
了解
C语言
的
解释下
~谢谢
答:
1.C语言是“中级语言”它把高级语言的基本结构和语句与低级语言的实用性结合起来
。C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。2.C语言是结构式语言 所谓结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化...
c语言
题如下,能
解释一下为什么
输出为28 70吗谢谢
答:
意思是x先+
1
,x=25+1=26,26%2==0满足条件继续执行,此时x=26;同样的 if(++x%3==0) // (26+1) % 3==0满足,此时x=27 if(++x%7==0) // (27+1)%7==0满足,此时x=28 所以输出28;同理70是一样的。主要是理解,++x表示是x先自增1再去参与运算;x++是参与运算后再自...
如何
解释C语言
?
答:
C语言是一门通用计算机编程语言,应用广泛
。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,...
C语言
帮忙
解释一下
这里
为什么
c等于260,我输入的是13
答:
\n"); scanf("%o%d",&a,&n); /*输入八进制和十进制数*//*这里的括号%o 与%d之间没有逗号的*/ b=a<<(16-n); /*左移运算*/
c
=a>>n; /*右移运算*/ c=c|b; /*按位或*/ printf("%o\n%o\n",a,c); /*输出八进制数*/ } 结果如下:...
C语言
:写出程序运行结果并
解释为什么
答:
c
=b++; //后置++做完之后 c是 1 ,b是2 e=15/10; //虽然e是浮点数,但是赋值在后,所以e是1.0,不是1.5 f=d/10; //因为d是浮点数,所以做了实数除法,所以f是 1.5 printf("%d,%d,%d,%f,%f,%f",a,b,c,d,e,f);return 0;} 因此结果是:0,2,1,15.0, 1.0,...
C语言
题目,详细
解释
,
为什么
答:
一共占24个字节:结构体首先为char分配6个字节,然后在分int4个字节的时候,规定前面分配的字节6应该是当前分配的字节4的倍数,一个char是一个字节,4个char占1个int的空间,后面2个char不是4的倍数强行扩展到4的倍数,即4,所以char num[6]分配了4+4=8个字节,然后轮到int了,int s[4]分配...
求大神用通俗的语言帮我
解释一下C语言
,而且那个C是
什么
意思?
答:
1、“
C语言
”
为什么
叫“C语言”,你可以查
一下
它的起源,每一本C语言教材开头都会讲,网上也是一大把的
解释
。2、按照通俗的划分,“C语言”属于计算机语言中的“中级语言”。a、低级语言(如汇编语言):我们都知道计算机里面是二进制编码的,也就是说,CPU运行时,接收的实际上是包含0或1的字符串...
C语言
:写出程序运行结果并
解释为什么
答:
c
=
1
b=2e=15/10;// 1.000,因为15 和 10 都是int类型 计算结果是int 类型1 再把int 1变成 float 1.00000f=d/10;///1.5,因为d是float类型, 因此 d/10 是float 类型1.50000printf("%d ,%d ,%d ,%f ,%f ,%f",a,b,c,d,e,f);return 0;} ...
大家正在搜
只言片语什么意思解释一下
诠释什么意思解释一下
c语言是什么语言
什么叫卡点给我解释一下
解释一下什么是情怀
C语言是什么
c语言有什么用
给我解释一下
你解释一下