何らかの理由で、次のコードが出力されます(null):
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char *foo;
scanf("%ms", &foo);
printf("%s", foo);
free(foo);
}
文字列に動的にメモリを割り当てようとしていますが、前に述べたように、プログラムは単に(null)を出力します。getcheとreallocを使用して関数を作成することでこれを回避しましたが、ユーザーがバックスペースやタブなどを入力した場合にどうなるかをプログラムする必要があるため、ほとんど意味がないようです。周りと私はむしろ上記のコードが機能していない理由を知りたいです...
追加情報:
Pelles C IDE v7.00を使用しており、C11標準でコンパイルしています