文字列の配列を定義しました。最初の要素が空の文字列ではないような方法で定義すると、うまく機能します。空の文字列の場合scanf()
、他の文字列の次は入力文字列の読み取りを停止し、プログラムは実行を停止します。
文字列の配列を定義すると、 による入力の読み取りにどのように影響するかわかりませんscanf()
。
char *str_arr[] = {"","abc","","","b","c","","",""}; // if first element is "abc" instead of "" then works fine
int size = sizeof(str_arr)/sizeof(str_arr[0]);
int i;
printf("give string to be found %d\n",size);
char *str;
scanf("%s",str);
printf("OK\n");