简单C语言小程序,结果怎么是0?

来源:百度知道 编辑:UC知道 时间:2024/05/24 20:22:13
#include <stdio.h>
void main()
{
double a=1;
int b,w;
b=w%(int)a++;
printf("%d",a);
}
但对a没有影响啊。我又试了一遍,w赋了1,结果还是0。请大家试一下。

printf("%d",a);
a为double类型,与int类型数据存放方式不同,所以按%d输出a值,为0

因为B没有初值

W没有赋值,怎么进行%运算?
(int)把a强制转换整型,也没有意义。

你的问题在于输出a的格式控制符应该是%lf,而不是%d,%d是整型的控制符

回复边介 - 试用期 一级
W没有赋值,怎么进行%运算?
即使w没有初值,也是可以进行计算的,只是w是一个随机值,得到的结果是一个无效的结果,但不能说不能进行运算

(int)把a强制转换整型当然有用,否则%的运算无法运行

你的输出语句应该这么写printf("%f",a)
因为你定义的变量a不是int型的