異なるメモリ位置に 2 つの文字列を入力したいのですが、最初の入力を行った後、「セグメンテーション違反 (コア ダンプ)」というエラーが表示されます。このコードの何が問題なのかわかりません。
#include <stdio.h>
#include<iostream>
using namespace std;
int main()
{
char *str;
int i;
scanf("%s",str+0);
scanf("%s",str+1);
return 0;
}
しかし、入力を 1 つだけ取得すると、正常に動作します。
#include <stdio.h>
#include<iostream>
using namespace std;
int main()
{
char *str;
int i;
scanf("%s",str+0);
return 0;
}
なんで?