実現したいこと
getcharを使ってエンターのみが入力されたらエラーとして再度入力できるようにしたい
前提
1週間ほど前からC言語の勉強を始めまして
現在getcharを使って10回文字列を入力し最も大きい文字列を表示するという問題を解いているのですが
getcharで入力されたものを二次元配列に代入するところまでは分かったのですがif関数なども使ってみたのですが思ったように動作せず未入力(エンターのみ押下した場合)にエラー表示をするためにはどうすればよいかがわからないためご教授願えないでしょうか
該当のソースコード
ソースコード #include <stdio.h> #include <string.h> void main( void ) { char moji; int i,j; char str[10][256]; char max[256]; for ( i = 0; i < 10; i++) { j = 0; while ((moji = getchar()) != '\n') { if (moji == '\n') { printf("未入力再度入力してください\n"); } else { str[i][j++] = moji; break; } } str[i][j] = '\0'; } strcpy(max, str[0]); for ( i = 0; i < 10; i++) { if( strcmp(max,str[i]) < 0 ) { strcpy(max,str[i]); } } printf("%sです", max); }
回答1件
あなたの回答
tips
プレビュー