|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
这是小甲鱼的答案代码
#include <stdio.h>
int main()
{
char name[256];
float height, weight;
printf("请输入您的姓名:");
scanf("%s", name);
printf("请输入您的身高(cm):");
scanf("%f", &height);
printf("请输入您的体重(kg):");
scanf("%f", &weight);
printf("========== 正在为您转换 ==========\n");
height = height / 2.54; // 厘米转换为英寸
weight = weight / 0.453; // 公斤转换为磅
printf("%s的身高是%.2f(in),体重是%.2f(lb)。\n", name, height, weight);
return 0;
}
下面的图片是我的代码,我不明白为什么我的输出不了%s的内容
name是一个字符数组,而字符数组的变量名其实就是一个指针,它指向字符数组的第一个值的地址
而scanf要的也是地址,所以就没有必要用&去地址运算符去取name这个字符数组的地址了,name就是地址
所以只需改为
scanf("%s",name)即可
当然,我也不确定,因为在我的电脑上你这样是可以运行的,我用的TDM-GCC
|
-
为什么打印输出不了%s ?
|