gpt4 book ai didi

c - 反转c中的单词

转载 作者:行者123 更新时间:2023-11-30 20:46:25 24 4
gpt4 key购买 nike

这确实很简单,但我是 C 的新手,我不明白为什么下面的代码会出现问题。该代码是一个简单的恢复字符串的字符位置:

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

int main()
{ int i,length;
char *word;
scanf("%s",word);
length = strlen(word);
char res[length];

for(i=0;i<length;i++){
res[i]=word[length-1-i];
printf("%d",res[i]);}
}

当我输入字符串时,我在控制台中收到一条消息:(lldb),在调试器中:movb %al, (%rcx), EXC_BAD_ACCESS(code=1,address=0x0)

最佳答案

char *word;
scanf("%s",word);

对不存在的内存位置的写入无效。

像这样创建一个数组:char word[MAXSIZE]或使用malloccalloc动态分配内存。并使用 fgets 而不是 scanf

一些让您愉快的链接: malloc , calloc , fgets

关于c - 反转c中的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12939365/

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