关于3/2,求各位高人解释!
情况1:intx = 3, y = 2, z; z = x / y;printf("%d,%f,%d\n", x, y, z);
无错误可编译,但是运行会报错!
情况2:intx = 3, y = 2, z;
z = x / y;
printf("%d,%d,%d\n", x, y, z);
一切正常!
情况3:floatx = 3, y = 2, z;
z = x / y;
printf("%d,%d,%d\n", x, y, z);
无错误可编译,可运行但是结果错误!
情况4:floatx = 3, y = 2, z;
z = x / y;
printf("%f,%d,%d\n", x, y, z);
无错误可编译,可运行结果依然错误!
没有人啊,自己顶一下! 没报错啊!不过我还是改了一点点东西,看起来美观一点!#include <stdio.h>
int main (int argc, char *argv[])
{
floatx = 3, y = 2, z;
z = x / y;
printf("%f,%f,%f\n", x, y, z);
return 0;
}
版主好,多谢回复我的问题啊,照你写的程序运行了确实不错,结果也是对的,这种情况我也试过,只要是定义数据和打印数据时数据类型一样的话,结果就是对的,其他情况都是无错误可编译,但是结果都不正确!
还有楼主的程序中“main (int argc, char *argv[]) ”以及“return 0;”这两行程序没学习过不知道是什么意思啊!!! 数据类型有优先级,在处理运算时编译器会自动转换。所以编译的时候不会报错。 谢谢这位兄弟啊{:1_1:} xwmllbd 发表于 2015-1-11 17:59
版主好,多谢回复我的问题啊,照你写的程序运行了确实不错,结果也是对的,这种情况我也试过,只要是 ...
int main (int argc, char *argv[])——>main函数可以接受参数,返回值为整形
return 0; ——>返回0表示无错误
找一本书认真的看看吧!《c primer plus》不错哟! 好的,版主,书找到了,准备看了,谢谢啊!!!
页:
[1]