C语言高手进来一下啊!

来源:百度知道 编辑:UC知道 时间:2024/05/22 15:44:16
有下面一到题:
有定义语句 long a; int k;则能给a赋40000的正确语句是___?

A:a=20000+20000;
B:a=4000*10;
C:k=400;a=k*100;
D:a=4000;a=a*10;
请帮忙分析一下啊 我怎么觉得哪个都行啊?? 请一个一 个帮我分析 谢谢!
谢谢 一楼的 请留言啊 呵呵 我错怪你啦 谢谢你 今天又长见识了呀! 还有二楼的大哥 也谢谢您~!!~

确实都正确

正因为我治学严谨,所以我在我的电脑上试验了一下,结果全部正确,很可能出题的人用的是很久很久以前的编译器,或者用的是16位的计算机

/////////////////////////////////////
还有一种情况是:
有些编译器不支持给没有初始化的变量赋值:
a=20000+20000;
a=4000*10;
k=400;a=k*100;
这3个里边的a是直接赋值的;

a=4000;a=a*10;//这个是先初始化,后赋值的。

我原来见到书上有这种介绍,但是在实际应用中从来没遇到过。经常是直接赋值。

////////////////////////
那就给分吧,哈哈
////////////////////////

a=4000;
a=a*10;
printf("%ld\n",a);
可以得到40000

我感觉应当是请留言说的那种情况