鱼C论坛

 找回密码
 立即注册
查看: 2340|回复: 9

[已解决]C语言,sle8的动动手1,请大佬看看哪儿不对。

[复制链接]
发表于 2021-5-17 23:28:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
屏幕截图 2021-05-17 232109.png 屏幕截图 2021-05-17 232216.png
最佳答案
2021-5-18 14:32:57
第一种解决办法:解释再注释中 已经测试过了是可以的
代码如下
  1. #include <stdio.h>

  2. int main()
  3. {
  4.     float tall,weight;
  5.     char name;//第一种这里不变下边变

  6.     printf("请输入您的名字:");
  7.     scanf("%c",&name);//这里变%c

  8.     printf("请输入您的身高(cm):");
  9.     scanf("%f",&tall);

  10.     printf("请输入您的体重(kg):");
  11.     scanf("%f",&weight);

  12.     printf("========正在为您计算==========\n");

  13.     tall = tall/2.54;
  14.     weight = weight / 0.453;

  15.     printf("%c的身高是%.2f(in),体重是%.2f(lb).\n",name,tall,weight);//这里也变成%c
  16.     return 0;
  17. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-5-17 23:36:46 | 显示全部楼层
知道了,name后面没加【256】,为什么要加这个?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-17 23:43:35 | 显示全部楼层
因为它要表示是一个,字符串吗?那为什么不写不行?只写个'[]'
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-18 11:27:38 | 显示全部楼层
因为你scanf 的%s是要求输入字符串,但是你的name是char(字符)类型,类型不匹配就会出错,改成char name【】这是字符串数组,就OK了,应该是不可以不写,除非你一开始就自己初始化,然后编译器就会自己帮你计算长度你可以看一下
https://fishc.com.cn/thread-67468-1-2.html
https://fishc.com.cn/forum.php?m ... peid%26typeid%3D583
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-18 14:32:57 | 显示全部楼层    本楼为最佳答案   
第一种解决办法:解释再注释中 已经测试过了是可以的
代码如下
  1. #include <stdio.h>

  2. int main()
  3. {
  4.     float tall,weight;
  5.     char name;//第一种这里不变下边变

  6.     printf("请输入您的名字:");
  7.     scanf("%c",&name);//这里变%c

  8.     printf("请输入您的身高(cm):");
  9.     scanf("%f",&tall);

  10.     printf("请输入您的体重(kg):");
  11.     scanf("%f",&weight);

  12.     printf("========正在为您计算==========\n");

  13.     tall = tall/2.54;
  14.     weight = weight / 0.453;

  15.     printf("%c的身高是%.2f(in),体重是%.2f(lb).\n",name,tall,weight);//这里也变成%c
  16.     return 0;
  17. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-18 14:36:26 | 显示全部楼层
第二种方法:解释同样在注释中,这个使用数组接收,也已经测试过了是可以的
代码如下
  1. #include <stdio.h>

  2. int main()
  3. {
  4.     float tall,weight;
  5.     char name[66]=" ";//第二种这里变成数组

  6.     printf("请输入您的名字:");
  7.     scanf("%s",name);//这里变%s

  8.     printf("请输入您的身高(cm):");
  9.     scanf("%f",&tall);

  10.     printf("请输入您的体重(kg):");
  11.     scanf("%f",&weight);

  12.     printf("========正在为您计算==========\n");

  13.     tall = tall/2.54;
  14.     weight = weight / 0.453;

  15.     printf("%s的身高是%.2f(in),体重是%.2f(lb).\n",name,tall,weight);//这里也变成%s
  16.     return 0;
  17. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-18 16:19:04 | 显示全部楼层
好的,谢谢你啦
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-18 16:19:45 | 显示全部楼层
好,谢谢你啦
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-18 16:21:17 | 显示全部楼层
肖-肖 发表于 2021-5-18 14:36
第二种方法:解释同样在注释中,这个使用数组接收,也已经测试过了是可以的
代码如下

好,谢谢你啦
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-18 16:22:05 | 显示全部楼层
孤世星辰 发表于 2021-5-18 11:27
因为你scanf 的%s是要求输入字符串,但是你的name是char(字符)类型,类型不匹配就会出错,改成char name ...

好的,谢谢你啦
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-29 06:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表