s1e8求解
本帖最后由 就是要努力呀 于 2019-4-7 23:29 编辑求解为什么会有乱码,而且算出来的 high和weight也不对
#include<stdio.h>
int main()
{
printf("名字:");
unsigned char name[] = {scanf("%s",&name),'\0'};
printf("身高(cm):");
float high = {scanf("%f",&high)};
printf("体重(kg):");
float weight = {scanf("%f",&weight)};
printf("以下是转换结果\n");
weight = weight / 0.453;
high = high / 2.54;
printf("%s的身高是%f(in),体重是%f(lb)。\n", name, high, weight);
return 0;
} unsigned char name[] = {scanf("%s",&name),'\0'}这是什么神仙用法
scanf的返回值是正确输入的参数的个数,别想当然
unsigned char name;
scanf("%s",&name);
后面几项一样的改
Croper 发表于 2019-4-7 23:33
这是什么神仙用法
scanf的返回值是正确输入的参数的个数,别想当然
scanf不能这样用呀。。{:5_99:},谢谢大佬 Croper 发表于 2019-4-7 23:33
这是什么神仙用法
scanf的返回值是正确输入的参数的个数,别想当然
为什么name【】要加128也 就是要努力呀 发表于 2019-4-7 23:37
为什么name【】要加128也
申请足够大的内存空间而已。。
128个字节可以装63个汉字,储存名字应该是足够了 Croper 发表于 2019-4-7 23:42
申请足够大的内存空间而已。。
128个字节可以装63个汉字,储存名字应该是足够了
但是不是【】为空的话系统会自动读取有多少字符吗 []是指让编译器根据初始化的值决定数组的大小,
在使用[]时必须在声明的时候同时初始化
如
int a[]={1,2,3,4,5};
那么生成的数组大小就是5
和int a={1,2,3,4,5};效果一样
哦懂了谢谢
页:
[1]