###前提・実現したいこと
c言語で特定の文字列が入力されるまで配列に文字列を格納し続けるプログラムを書く
###発生している問題・エラーメッセージ
(1) while文からbreakするための条件を満たす入力をしてもループから抜け出せない
(2) output_arrに入力した配列を結合する際に改行無しで結合したい
###該当のソースコード
c
1#include <stdio.h> 2#include <string.h> 3 4int main(void){ 5 int MaxInput = 1025; 6 char output_arr[1025]; 7 char input_arr[1025]; 8 9 while(1){ 10 // Read user input 11 puts("Enter a value : "); 12 fgets(input_arr, MaxInput, stdin); 13 14 if(!strcmp(input_arr, "a")) 15 break; 16 else 17 strcat(outputrr, input_arr); 18 19 printf("Input_arr is %s\n", input_arr); 20 printf("So far you entered %s\n", output_arr); 21 } 22 23 return 0; 24} 25 26``` 27 28###試したこと 29printfで実際に入力された文字がinput_arrに格納されているか確認したが(!strcmp(input_arr, "a")の条件に引っかからない 30 31実際に動かしてみると以下の通りになります。 32```text 33Enter a value : 34123 35Input_arr is 123 36 37So far you entered 123 38 39Enter a value : 40456 41Input_arr is 456 42 43So far you entered 123 44456 45 46Enter a value : 47a 48Input_arr is a 49 50So far you entered 123 51456 52a 53 54 55```
回答3件
あなたの回答
tips
プレビュー