gpt4 book ai didi

c - 使用 scanf 时给出的标准字不能正确打印

转载 作者:行者123 更新时间:2023-12-04 11:49:17 26 4
gpt4 key购买 nike

我试图 printf 一个简单的字符串,但我不能。

#include <stdio.h>

int main(){
char *word;
scanf("%s", &word);
printf("%s\n", word);
return 0;
}

当我插入这个词时,我的代码会中断。
它只是停止程序执行,但没有给我任何错误。
我究竟做错了什么?

最佳答案

问题1:你需要为你的单词分配空间。
问题 2:您的 scanf() 语法对于字符数组不正确。
问题 3: scanf("%s", ...) 本身容易受到缓冲区溢出的影响。
建议的替代方案:

#include <stdio.h>

#define MAXLEN 80

int main(){
char word[MAXLEN];
fgets(word, MAXLEN, stdin);
printf("%s", word);
return 0;
}

关于c - 使用 scanf 时给出的标准字不能正确打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67653737/

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