|
8鱼币
- #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;
- }
复制代码
为什么是scanf("%s", name),不是scanf("%s", &name)
&不是取地址符吗
在c语言中,数组名本身就表示数组在内存中的首地址,所以当我们输入一个字符串时,直接使用数组名即可。因此,`scanf("%s", name)`是正确的写法,而`scanf("%s", &name)`是错误的写法。取地址符&应该用于非数组类型的变量。
有用请设置最佳答案
|
最佳答案
查看完整内容
在c语言中,数组名本身就表示数组在内存中的首地址,所以当我们输入一个字符串时,直接使用数组名即可。因此,`scanf("%s", name)`是正确的写法,而`scanf("%s", &name)`是错误的写法。取地址符&应该用于非数组类型的变量。
有用请设置最佳答案
|