很简单的c语言小问题。求解释,答案貌似是8

来自:    更新日期:早些时候
简单的c语言题目,求答案和详细解释,重点是解释,谢谢~

第一题选C,二题选A,三体选C。
具体解释第一题变量的命名:变量名只能是字母(a-z A-Z),数字(0-9),下划线(_)的组合,并且之间不能包含空格,数字不能放在变量名首位。
第二题:int类型,即为整型。包括二进制(0),八进制(037),十六进制(0xaf)。
最后一个的话:自行查看转义字符. ^_^

容易被误导,确实是4,因为else里面print函数里面也是先打印了之后才自加的

答案的确是8
fun((a++,b++,a+b),c++)
第一个参数是一个逗号表达式的值,他的值就应该是a+b的值

注意这个逗号表达式:
(a++,b++,a+b);
由于是从左到右运行,
所以 a+b=2+3(a++后a的值变成2,b++后b的值变成3)==5
好了,
fun((a++,b++,a+b),c++)就相当于fun(5,c++);
由于++在变量c后面
所以
fun(5,c++);
相当于
fun(5,c);
c++;
所以sum=5+3(c的原值是3)==8

8是正确的。调用fun时要执行x=(a++,b++,a+b)和y=c++。(a++,b++,a+b)是逗号表达式,它从左至右计算,但只取最右边的表达式的值。所以,a++、b++后a=2、b=3,最右边的表达式a+b=2+3=5,所以x=5。y=c++把c的值3先赋给y使y=3,再让c++,使=4。故sum=fun((a++,b++,a+b),c++);实际上成了sum=fun(5,3);,最后结果sum=8。

(a++,b++,a+b) 就是一个逗号符运算,就是最后面的逗号值 也就是a+b=5的值,在于c=3
条用fun(5,3++)就输出8了。c++要使用后在加一,++c就是加一后再使用!!

((a++,b++,a+b),c++)
是逗号运算的问题,
x=a+b=1+1 + 2+1
y=c=3


很简单的c语言小问题。求解释,答案貌似是8视频

相关评论:
  • 13511453278很简单的c语言小问题。求解释,答案貌似是8
    宗刷狡c++;所以sum=5+3(c的原值是3)==8

  • 13511453278一个C语言的小问题~~~求救
    宗刷狡问题很简单。因为win-tc中int只用2个字节表示,故它只能表示-32768-32767之间的数值,而在vc++或dev-c++中int要用4个字节表示,故它可以表示-2147483648-2147483647之间的数。你的程序中当x等于99时,z=1+3*x+3*x*x+x*x*x=1000000早就超过了win-tc下int的范围,所以结果错误。将数据类型改为...

  • 13511453278一道C语言很简单的题目,懂C语言的进来帮忙解下
    宗刷狡首先要知道? :这是一个三目运算符,如 (表达式)? x : y, 意思是说如果表达式是正确的,那么就选择x,如果错误的就选择y。那我们看这里,可以分成三部分(a++<b) ? (a++):(c<d?a++:d)。而后面的(c<d?a++:d)又可以分成三部分(c<d) ? (a++):(d)。我们先看第一个式子...

  • 13511453278C语言问题,求大神解决,谢谢拉。。我是小白,解释下原因
    宗刷狡答案就是 A) 1

  • 13511453278C语言的简单题目,求答案及解释
    宗刷狡结果是1。< :是自右向左结合的,你这个表达式相当于: k<a ? k : (c<b ? c:a)c<b 显然成立,取前面表达式(在这里是变量c),即表达式 (c<b ? c:a)的值是1;k<a显然不成立,取冒号后面的值,就是表达式(c

  • 13511453278简单的C语言问题
    宗刷狡简单的C语言问题 关于字节运算符“sizeof”floatf;printf("%d",sizeof(f);printf("%d",sizeof(int));输出结果为4和2不明白,为什么是4和2?谁能帮忙解释一下,非常感谢... 关于字节运算符“sizeof”float f;printf("%d",sizeof(f);printf("%d",sizeof(int));输出结果为4和2不明白,为什么是4和2?谁...

  • 13511453278C语言的问题,求解释
    宗刷狡a=a+7; printf("%d\\n",a);return 0;} B.不对,虽然能得到正确答案,但不符合c语言语法。a=7+b+c,a++;应该为a=7+b+c;a++;a=7+b+c与a++是两个语句,应该用分号隔开,而不是用逗号!举例:include<stdio.h> int main(){ int a=1,b=1,c=1;a=7+b+c,a++;printf("%...

  • 13511453278c语言简单问题:若 x=1,y=2,z=3.则表达式 z+=++x+y++的值为多少?求详解...
    宗刷狡++x返回值是+1之后的值 x++返回时+1之前的值 所以z=3+(1+1)+2=7 include <stdio.h>#include<cstring>#include<iostream>using namespace std;int main(){ int x=1; int y=2; int z=3; z+=++x+y++; cout<<z<<endl; return 0;} ...

  • 13511453278几个简单的c语言小问题 解决一题给十分
    宗刷狡if(!c) d=15; else d=25;是 else if(!b)下的语句 也不执行 二。 x=1 y=z=x; 赋值语句 x先赋给z 再赋给y x=y==z 先判断条件语句 y==z 是真 的 语句值为1 再赋给x 三。 第三题是要干什么 ...

  • 13511453278C语言简单数学问题,求大神,详细解析,给出分析步骤
    宗刷狡一直到哥哥追上弟弟,所以实际上就是计算哥哥啥时候追上弟弟。哥哥追上弟弟需要的时间,实际上是追及问题。两个人距离差为 X*M ,速度差为 Y-X 所以哥哥追上弟弟耗时为 X*M*(Y-X)所以狗就是跑了 Z*X*M*(Y-X)如果是C语言程序题的话,应该不会有 X>Y 这种不合题意的情况吧。。。

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网