代码
#include <stdio.h>
int main(void)
{
int a=2;
float b=9.99f;
printf("1:%dn",a,b);
printf("2:%d、%f、%fn",a);
return 0;
}
编译选项
GCC编译选项为GCC -m32 test.c -o test
输出
$/试验
1:22:2、9.990000
怀疑
在第二个printf语句中,只有一个表达式a,但它打印两个变量的值
堆栈数据
在此处输入图像描述
您使用了不正确的格式说明符,这会导致编译器警告。在第二个printf
语句格式"%f"中,需要一个匹配的"double"参数。以下是正确的版本:
#include <stdio.h>
int main(void)
{
int a=2;
float b=9.99f;
printf("1:%d %fn",a,b);
printf("2:%dn",a);
return 0;
}