新手求教 关于c语言课后作业 S1E8:字符和字符串的小问题
刚刚开始学c语言 课后作业遇到了点问题 希望大神们来教一下{:10_256:}#include <stdio.h>
int main()
{
char name;
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;
}
为什么 char name 后面要加 具体是什么作用呢?
以及 scanf("%s",name) 那里 为什么 name 前面没有加‘&’ 这个符号 而下面的 height 和 weight 前面有& 是否这个符号是可有可无的
本帖最后由 xiaosi4081 于 2020-7-23 15:38 编辑
1:256就是数组的大小,表示可以存放255个字符(不包括\0)
2:在scanf这里,数组是不用加&号的,因为数组本身就是一个指针(你现在可能还没学到指针,指针就是一个存储地址)
求最佳{:10_254:} 1,char name是一个字符数组,256代表这个数组的大小。
数组你可以想象成一列火车,可以自定义大小,每个车厢存放一个乘客(元素)。
2,因为数组名就是一个地址,所以不需要取址运算(&)。 3L 正解 1、char name是定义了一个字符数组,256是数组的长度,可以存放256个字符,存放字符串的话,不建议超过255个,因为后面需要有一个单元存放字符串结束符'\0'
2、scanf后面需要给出一个地址,数组名本身就是地址所以不需要&符号,对于weight和height是一般变量,需要用&指出其地址
页:
[1]