C语言选择题,求大神帮忙解答,为什么输出结果不确定?请给出具体解析。

如题所述

fun(2,3,c);中的c是函数fun中的局部变量,与int c;中的c不是同一个变量,当fun函数结束后,fun(2,3,c);中的c将会被编译器销毁,后面的printf语句其实是输出的int c;中的c的值,而语句int c;是声明了int型变量,但是没有给它赋值,所以它的值是不确定的(垃圾值)追问

那程序一开始定义的fun(int a,int b,int c) {c=a*b}这些语句在程序中起了什么作用。

追答

fun(int a,int b,int c) {c=a*b;}

是函数fun的定义,告诉编译器,名叫fun的函数需要3个int型参数,然后第3个参数的值等于前两个参数的乘积,它返回int型的值(没显示注明返回值类型,默认为int型),但是函数中没有return语句,所以返回值的大小取决于具体的编译器。

温馨提示:内容为网友见解,仅供参考
无其他回答

c语言小白,请问为什么我的这段代码输出结果不正确?应该怎么改呢?求具...
1、这一块统计数量的代码其实老实说我都没看懂是什么意思,但是我测试了,输入13能统计出来是2,但是输入12345的时候统计就错了,这段并不能数出3来。2、第17行有问题,你每次循环都把max赋值为Num[0],按照你的代码来,输入13时,Num[0]的值为0,所以max初始值总是0,而且Num[9]也是0,所以...

C语言为什么输出结果不对啊?
printf("%d ", &n)输出的是n的地址不是值,把&去掉,改成 printf("%d ",n);

初学C语言,请大家帮我看看这个问题,输出结果不对啊
(2) a==(b=c) 是先进行b=c的赋值操作,即此时b为3,再进行a==b的比较运算(a为1),显然不相等,比较的结果为假,转换成整形输出就是 0 (3) a=b==c 是先进行b==c的比较操作,上一步中b已经是3了,所以此时b等于c,即b==c的结果为真,即为1,再进行赋值运算,将1赋给了a...

c语言大神帮我看看,为什么结果输出不对,输入27638496,要求结果64862
你的主函数main 里的输入输出语句的标示符%1d写错了,应该是%ld(小写的LD)而不是%1d(数字1小写D),把main函数中的scanf("%1d",&n);改成scanf("%ld",&n); 把printf("\\nThe result is:%1d\\n",get_even(n));改成printf("\\nThe result is:%ld\\n",get_even(n));就没有问题了.

C语言程序运算结果不对,哪里出了问题?
整个表达式才为真,其中只要有一个为假,整个表达式都为假。然后看你的表达式i==5&&k&&(j=0),其中最左边一个i==5表达式的值就为0,则后面的表达式都不会再去执行了,因为不论后面的表达式值为真或者假,都不影响整个表达式的真假。另外,如果你一定想要后面的表达式也执行,你可以将&&改为&。

C语言 为什么不出结果 求解释
好样的终于有人贴 codepad 了!<= 改 >= 另外建议精度调高一点或控制输出, printf 默认6位小数,你的程序有时不准。

C语言简单程序输出结果错误,求大神解答
连续输入, 在输入函数前面一定要加上flushall()或是while(getchar()!='\\n');这样以清空缓冲区.或者是除了在第一次输入的地方, 在字符串前面加一个半角字符, 只要是一字节就可以. 这样以抵消上次输入留下的回车.如:scanf("%d", &i);改成 scanf(" %d", &i);而且scanf最好不要用输入控制符...

为什么c语言输出与计算器算出的值有误差?
估计是你在计算器上算错了,或者你的计算器的精度不够。我把你的C程序跑了几遍,结果和你运行C的结果一样。然后我又在Mathmatica里面算了一遍,结果和C得到的结果是一样的。具体见下面两张截图。

c语言程序为什么运行就是得不出正确结果?
输入是合法的:3,4�此时不用逗号而用空格或其它字符是不对的。3 4� 3:4�其次,你要注意你输入的数据是否能构成三角形。(因为你程序中没处理)例如:请输入a,b,c:3,4,5 area=6.000000 Press any key to continue 但输入以下结果形式时:请输入a,b,c:3 4 ...

...一个数组后将数组里的数相加,为什么输出结果不对?
第一,定义的浮点数变量sum没有初始值,应该在定义的时候给他赋初始值为0。第二,循环体没有加花括号,导致只有读入语句是执行循环的,而下面的累加到sum的语句则要到循环结束以后才执行一次,起不到累加的作用。第三,格式化输入语句scanf在给float类型输入时是不能指定小数位数的(最多只能限定总位数...

相似回答