掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
指定領域ですますには (ID:53153)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
はじめて書き込みします。よろしくお願いします。 int cnt = 0; char moji[27]; int p = 0; int mojisu; printf("文字を入力して下さい=>"); scanf("%s",moji); mojisu = strlen(moji); if (mojisu < 27 ){ } else{ printf("27文字以上入力されました。\n"); } 上記の様にmoji配列にscanfで文字列を入力し27文字以上だったらエラー表示を出す処理を作っています。 現在の状況で実行すると、27〜32文字を入力する時にはエラー表示が出るのですが、33文字以上になると処理が強制終了されてしまいます。 僕の見解では char moji[27]; のさいにメモリ上のmojiの領域が32バイト用意されたので、33バイト以上だと止まってしまうのではないでしょうか? mojiの領域を増やすことなく、32バイト以上入力されても止まらないようにするにはどうしたら良いでしょうか?
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.