关于c的作业代码运行问题
#include <stdio.h>int main()
{
char name;
float height, weight;
printf("请输入您的姓名:");
scanf_s("%s", name);
printf("请输入您的身高(cm):");
scanf_s("%f", &height);
printf("请输入您的体重(kg):");
scanf_s("%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("%s", name);
改为
scanf_s("%s", name , 256); jackz007 发表于 2019-12-16 16:53
改为
请问加那个256的作用是为了声明name的长度吗 大学里的小菜鸡 发表于 2019-12-16 17:17
请问加那个256的作用是为了声明name的长度吗
请问加的256的作用是什么,谢谢 大学里的小菜鸡 发表于 2019-12-16 17:18
请问加的256的作用是什么,谢谢
还有请问一下是在什么情况下才加那个数字,是在是懵逼 jackz007 发表于 2019-12-16 16:53
改为
请问一下那个数字是在什么情况下才加,加了那个数字的作用是什么,是在是懵逼,感谢 大学里的小菜鸡 发表于 2019-12-16 17:22
还有请问一下是在什么情况下才加那个数字,是在是懵逼
那个数字只是在输入字符串、字符等类型的变量内容时才会使用,用于指示保存变量空间容量的大小。 jackz007 发表于 2019-12-16 17:40
那个数字只是在输入字符串、字符等类型的变量内容时才会使用,用于指示保存变量空间容量的大小。
#include<stdio.h>
#include<math.h>
#define A 3
int main()
{
float a, b, c; c = 1.0;
char d;
scanf_s("%c,%f,%f",&d,1, &a, &b); //这里的1的意义,为何要用1,不用1会出现编译错误.
printf("d=%c\nb=%7.1f\na=%7.1f", d, b, a);
//printf("%d", A);
return 0;
}
这是我昨天遇到的一个问题,知道了答案,但是不知道那个参数的意义,所以就是如果scanf是单个字符的输入时不用加那个参数的限制,当不是单个字符(连续多个字符输入)或者是字符串的输入的时候才加那个参数限制吗?请问是我这样理解的意思吗? 大学里的小菜鸡 发表于 2019-12-16 18:15
#include
#include
#define A 3
是的,只要输入的是非数字内容都要加上。 jackz007 发表于 2019-12-16 19:17
是的,只要输入的是非数字内容都要加上。
好的,明白了,谢谢{:5_109:}
页:
[1]