新手求助
本帖最后由 16beat 于 2021-6-5 20:32 编辑为什么我输完姓名后,身高和体重无法输入,直接跳过了?
#include <stdio.h>
int main()
{
char xm;
float sg;
float tz;
printf("请输入您的姓名:");
scanf("%c",&xm);
printf("请输入您的身高(cm):");
scanf("%f",&sg);
printf("请输入您的体重(kg):");
scanf("%f",&tz);
printf("------------------------------\n");
sg=sg*0.39;
tz=tz*0.453;
printf("%c的身高为%.2f(in),体重为%.2f(lb)");
return 0;
}
运行结果:
请输入您的姓名:李
请输入您的身高(cm):请输入您的体重(kg):------------------------------
0的身高为0.00(in),体重为0.00(lb)
身高与体重输入直接被跳过了。。。。。 你应该定义一个char xm;
一个汉字代表两个字节
char xm
xm只有一个字节的空间 中文不止占一个字节,你输入一个英文程序即可运行
另外你最后 printf 函数忘记加上格式化的参数了:
#include <stdio.h>
int main()
{
char xm;
float sg;
float tz;
printf("请输入您的姓名:");
scanf("%c",&xm);
printf("请输入您的身高(cm):");
scanf("%f",&sg);
printf("请输入您的体重(kg):");
scanf("%f",&tz);
printf("------------------------------\n");
sg=sg*0.39;
tz=tz*0.453;
printf("%c的身高为%.2f(in),体重为%.2f(lb)", xm, sg, tz);
return 0;
} pjcpjc 发表于 2021-6-5 20:33
你应该定义一个char xm;
一个汉字代表两个字节
char xm
多谢{:5_108:} Twilight6 发表于 2021-6-5 20:39
中文不止占一个字节,你输入一个英文程序即可运行
另外你最后 printf 函数忘记加上格式化的参数了:
懂了,多谢{:5_108:} 代码帮你弄好了
#include <stdio.h>
#include<string.h>
#include<stdlib.h>
#pragma warning(disable : 4996)
int main()
{
char xm[] = {""};
int sg;
int tz;
printf("请输入您的姓名:");
scanf("%s", &xm);
printf("请输入您的身高(cm):");
scanf("%d", &sg);
printf("请输入您的体重(kg):");
scanf("%d", &tz);
printf("------------------------------\n");
printf("%s的身高为%d,体重为d");
system("pause");
return 0;
}
页:
[1]