gpt4 book ai didi

C - Scanf 没有得到正确的信息

转载 作者:行者123 更新时间:2023-11-30 14:44:42 25 4
gpt4 key购买 nike

为什么当我运行代码时会得到这个结果:

Name: Zeref
Age: 20
Float: 20.11
-----
Name: Zeref
Age: 1072324272
Dec: 0.000000

代码:

#include <stdio.h>
#include <stdlib.h>

int main(void) {
char name[524288];
int age[524288];
float dec[524288];

printf("Name: ");
scanf("%s", name);
printf("Age: ");
scanf("%d", age);
printf("Float: ");
scanf("%f", dec);

printf("-----\n");

printf("Name: %s\n", name);
printf("Age: %d\n", age);
printf("Dec: %f\n", dec);

return 0;
}

它没有正确理解我说的话,为什么?

我希望它准确地打印出我写的内容,但使用age作为int,dec作为float,name作为字符串。只有名字有效

最佳答案

这只是将数组age的地址打印为十进制整数(实际上它引入了未定义的行为);

printf("Age: %d\n", age);

试试这个

printf("Age: %d\n", age[0]);

关于C - Scanf 没有得到正确的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53419230/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com