搞不懂 ?为什么给出4个结果。

http://img2.mukewang.com/5ae2c1a600015d4d15011126.jpg
http://img1.mukewang.com/5ae2c1a700012da415002000.jpg

慕瓜7417558
浏览 1886回答 5
5回答

onemoo

其他人已经解答了为什么第四次输出是乱数的问题。但我很奇怪于你之前的回复,不是该不该“把 %d到%d的和是%d 放到printf里面”,而是想要问你:为什么要在三次调用 sum 后又调用 printf 呢?sum 函数中已经有 printf 输出了,你又额外调用一次的意义何在呢?

麓鹿不迷路

楼主你好,因为你的sum()函数里调用了屏幕输出函数printf,你在主函数一共调用了三次sum()函数,所以你会看到前面的三行输出。而第四行输出,是因为你在主函数里最后又调用了一次print()函数,所以会显示这一行,但是你只提供了数字输出的格式“%d”却没有赋值,所以系统会赋值一个随机数,这也是第四行的数字乱七八糟的原因。你可以将你的main函数增加个小东西,改成下面这样:int main(){int i=1,j=2;sum(1,10);sum(20,30);sum(35,45);printf("%d到%d的和是%d.\n",i,j,i+j);}

慕瓜7417558

就是说不应该把%d到%d的和是%d。放到printf里面 ?但是为什么呀??

qq_241随心_0

最后个,是在主函数内,由于没有赋值,所以会输出未知值

qq_241随心_0

调用了输出函数printf
打开App,查看更多内容
随时随地看视频慕课网APP