0
int getstring(void)
{
char *x;
int i = 0;
x = malloc(sizeof(char) + 1);
char ch;
while ((ch = getchar()) != EOF)
{
x[i] = getchar();
x = realloc(x, sizeof(char) + i + 1);
i++;
}
return *x;
}
この関数をメインで使用した後に文字列を入力する関数を作成しようとしていますが、出力が得られないようです。このコードでどこが間違っていましたか
なぜあなたは 'int'を返すのですか?あなたの関数は 'char *'を返し、 'return * x;'は 'return x;'でなければなりません。 – mch
また、文字列の0ターミネータも忘れています。 – mch
前のコメントに加えて、「入力がない」とはどういう意味ですか?あなたの戻り値が期待どおりでないことを意味しますか? –