我想从字符串中替换字符(例如第二个字符)。 我的代码有什么问题?它可以编译,但不是做我所需要的,它给我一个分段错误。谢谢!通过替换字符串的字母在C中的分段错误
#define _XOPEN_SOURCE
#include <unistd.h>
#include <stdio.h>
#include <cs50.h>
#include <string.h>
int main (int argc, string argv[])
{
string key="abcd";
key[1]='f';
}
并经过编译我的代码
~/workspace/pset2/crack/ $ clang -ggdb3 -O0 -std=c11 -Wall -Werror -Wshadow bug.c -lcrypt -lcs50 -lm -o bug
~/workspace/pset2/crack/ $ ./bug
Segmentation fault
'string'是从一个叫做'cs50'库一个typedef,你得到它的权利 - 这只是'字符*'。显然这个库在哈佛的入门课程中用于从键盘读取。这听起来很有用,但是这个typedef实际上不应该存在。 – giusti
@giusti感谢您的信息。:) –