我正在尝试传递一个 char* 并在另一个函数中更改它,但不知何故它不断给出段错误。
完整代码是:
#include <stdio.h>
void getString(char** str) {
*str[0] = '$';
char c;
int i = 1;
while ((c = getchar()) != '$') {
if (c != '\n') {
*str[i-1] = c;
i++;
}
}
*str[i] = '\0';
}
int main (int argc, char *argv[]) {
char* str = (char*)malloc(200 * sizeof(char));
while (1) {
getString(&str);
printf("String: %s\n",str);
}
return 0;
}
如果我从 str[0] = '$' 中获取 *,它会发出警告,将指针传递给整数。
不知道我在哪里搞砸了。