新手提问c++变量初始化的问题

int main()
{
char mz[200];
int xh;
float c1;
float m1;
float e1;
float zf = c1 + m1 + e1;
printf("请输入您的名字,学号,语文,数学,英语数据");
int result= scanf("%s%d%0.1f%0.1f%0.1f", &mz, &xh, &m1, &c1, &e1);
printf("名字\t学号\t语文\t数学\t英语\t总分\t平均分\n");
printf("%s\t%d\t%0.1f\t%0.1f\t%0.1f\t%0.1f\t%0.2f\t\n", mz, xh, m1, c1, e1, zf, zf / 3);
return 0;

上面是代码,不初始化浮点数的话会提示,初始化了程序运行结果是初始化的值
c c++

2个回答

float zf = c1 + m1 + e1;这个放的位置有问题,把它放到scanf("%s%d%0.1f%0.1f%0.1f", &mz, &xh, &m1, &c1, &e1);下一句就可以了

 int result= scanf("%s%d%0.1f%0.1f%0.1f", &mz, &xh, &m1, &c1, &e1);

这行有错。

scanf函数中没有精度控制,如:scanf("%0.1f",&c1);是非法的,不能企图用此语句输入小数为1位的实数。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问