c语言程序运行错误,h,t输出值为零

img


#include <stdio.h>
#include <stdlib.h>

int main()
{
   printf("Input weight, height:\n");
   int w,h;
   scanf("%d,%d",&w,&h);
    float t;
   t=(float)w/(h*h);
   w=w*2;
   h=(float)h/100;
    printf("weight=%d\n",w);
    printf("height=%.2f\n",h);
    printf("t=%.2f\n",t);
  return 0;
}

你是想干嘛啊,int类型就用%d去打印 不要乱用的~
输出0是因为你计算结果就是0 是正常的 ,你多打印几个小数点后面就好了

img


#include <stdio.h>
#include <stdlib.h>
 
int main()
{
   printf("Input weight, height:\n");
   //int w,h;
   int w;
   float h;
   scanf("%d,%f",&w,&h);
    float t;
   t=(float)w/(h*h);
   w=w*2;
   h=(float)h/100;
    printf("weight=%d\n",w);
    printf("height=%.2f\n",h);
    printf("t=%.2f\n",t);
  return 0;
}

img

解决,帮我点个采纳,十分感谢