|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
题目:输入姓名、身高、体重,将身高体重转换成另外的计量单位进行打印。
遇到的问题:输入名字并回车后,没有继续显示下一个问句?请问是哪里出了问题?scanf?
- #include<stdio.h>
- int main()
- {
- char name;
- float height,weight;
- printf("请输入你的姓名:");
- scanf("%s\n",&name);
- printf("请输入你的身高(cm):");
- scanf("%f\n",&height);
- printf("请输入你的体重(kg):");
- scanf("%f\n",&weight);//以上输入姓名、身高、体重
-
- weight =2.2046226*weight;//转换体重
- height =0.393700787402*height;//转换身高
- printf("%s的身高是%.2f(in),体重是%.2f(lb)。\n",name,height,weight);//打印
- return 0;
- }
复制代码
本帖最后由 jackz007 于 2022-10-3 22:10 编辑
- char name[256] ; // name 必须能够保存很多字符,必须足以保存键入的所有字符
- scanf("%s", name) ; // scanf("") 格式描述符字符串中不可以有除格式描述符以外的其它字符( '\n'), name 已经是内存地址,所以,无需取址。
- scanf("%f",&height) ; // scanf("") 格式描述符字符串中不可以有除格式描述符以外的其它字符( '\n')
-
- scanf("%f",&weight) ; // scanf("") 格式描述符字符串中不可以有除格式描述符以外的其它字符( '\n')
复制代码
修改后的完整代码:
- #include<stdio.h>
- int main()
- {
- char name[256] ; // 【修改-01】:
- float height , weight ;
- printf("请输入你的姓名:") ;
- scanf("%s", name) ; // 【修改-02】:
- printf("请输入你的身高(cm):") ;
- scanf("%f" , & height) ; // 【修改-03】:
- printf("请输入你的体重(kg):") ;
- scanf("%f" , & weight) ; // 【修改-04】:
-
- weight =2.2046226 * weight ; //转换体重
- height =0.393700787402 * height ; //转换身高
- printf("%s的身高是%.2f(in),体重是%.2f(lb)。\n" , name , height , weight) ; //打印
- return 0;
- }
复制代码
|
|