转换说明的一点小问题
麻烦大佬们看一下#include <stdio.h>
int main(void)
{
int a=66;
printf("%c,%f,%d\n",a,a,a);
return 0;
}
输出结果是B, 0.000000, 134513696
第一个B我理解,第二个是因为int类型的值没有转换成float型,但是第三个怎么想都想不通啊,明明是int型转换说明也是%d,为什么输出不是66啊,很迷,谢谢看题的各位大佬了{:10_285:} {:10_247:} 去掉%f吧。int 66,用%f输入肯定是不正确的。
不同编译器 加了 %f的效果都不一样。我这根本就执行不了。 ba21 发表于 2017-9-2 00:03
去掉%f吧。int 66,用%f输入肯定是不正确的。
不同编译器 加了 %f的效果都不一样。我这根本就执行不了。
大佬,这三个转换说明不应该是独立的么我中间有加,分开啊,我先试试去掉%f是什么情况 大星星 发表于 2017-9-2 10:32
大佬,这三个转换说明不应该是独立的么我中间有加,分开啊,我先试试去掉%f是什么情况
你一个程序中,错语的语法,跟正确的语法也都是独立的。按你的说法那也应该可以运行咯。 ba21 发表于 2017-9-2 00:03
去掉%f吧。int 66,用%f输入肯定是不正确的。
不同编译器 加了 %f的效果都不一样。我这根本就执行不了。
怎么去掉%f就显示正常了,这三个不应该是独立的转换说明么。 ba21 发表于 2017-9-2 10:34
你一个程序中,错语的语法,跟正确的语法也都是独立的。按你的说法那也应该可以运行咯。
涨姿势了,原来并不是相互独立的{:10_277:}
页:
[1]