|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
【S1E8动动手1】为什么name后面要加【256】?
不加程序没有输出直接结束,加了【256】就可以完整运行了,但是这个【256】的含义是为什么?为什么要加它?是不是定义了char name 这个name要输入不止一个汉字因此要给它套一个范围?
等级太低传不了图片,以下是复制的代码
【这是成功运行的】
#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;
}
运行结果
请输入您的姓名:小甲鱼
请输入您的身高(cm):170
请输入您的体重(kg):60.1
========== 正在为您转换 ==========
小甲鱼的身高是66.93(in),体重是132.67(lb)。
--------------------------------
Process exited after 13.43 seconds with return value 0
请按任意键继续. . .
【这是去掉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;
}
结果
请输入您的姓名:小甲鱼
--------------------------------
Process exited after 8.214 seconds with return value 3221225477
请按任意键继续. . .
char name[256] 表示声明一个叫 name 的、长度为 256 的字符数组,去掉 [256] 就编程声明一个叫 name 的字符了。
|
|