![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
#include<stdio.h>
#include<string.h>
#define HASH_SIZE 100
#define NAME_SIZE 20
char name[ HASH_SIZE ][ NAME_SIZE ];
i
int hash_func( char str[] )
{
}
void main()
{
char s[ NAME_SIZE ],i;
int index ;
while(1){
printf("文字を入力!");
scanf("%s",s);
if( s[0]='.') break;
index = hash_func(s);
strcpy( name[ index ],s) ;
printf("*\n");
}
}
このプログラムの
無限ループのところがぜんぜん回らないんです。
自分なりに試行錯誤してみたのですが
限界に達しましたので助言をいただきたいです。
上の関数は今はなにも書いてないですが、
書いてあっても動かないです。
月曜日提出の課題なので
なるべく早め回答いただけると幸いです。
アドバイスお待ちしております。
A 回答 (6件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
edomin2004さんへ
質問文の解釈の仕方が違うようです^^;
breakするということは少なくともループを1回回りきるので、「ループがぜんぜん回らない」という表現と不一致するということでANo.4の回答になりました。
質問者さんが、どんな文字を入力してもhash_funcがコールされずにルーチンが終了するという現象を「ループがぜんぜん回らない」と表現しているのなら、まさしくあなたの回答がパーフェクトだと思います。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_03.png?e8efa67)
No.5
- 回答日時:
「if( s[0]='.') break;
が意図した動作かどうかにかかわらず、ループは回るでしょう。」
とありますが、代入の結果返される値は'.'です。
'.'ならfalseじゃないからtrueでbreak;
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_03.png?e8efa67)
No.3
- 回答日時:
とりあえず、
if( s[0]='.') break;
を
if( s[0]=='.') break;
に変更する。
s[0]='.'は代入。なので、必ずbreak。
s[0]=='.'は比較。なので、'.'ならbreak。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# 宣言する関数の形が決まっている状態で、 str1とstr2の文字列をこの順に引っ付けてstrに保存し 2 2022/05/30 18:21
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# 10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、以下のプログラムをどう直せ 1 2022/07/09 22:16
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# c言語配列の結合についてです。 なぜうまくいかないのでしょうか。 #include <stdio.h 4 2022/05/30 22:42
- C言語・C++・C# c言語でユーザ関数を利用して入力された文字列を反転させるプログラムを作りたいです。 3 2023/01/29 19:47
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# c言語の問題です 課題1 (二分探索木とセット) 大きさ size の配列 array を考える。す 2 2023/01/10 21:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
do-while文が禁止される理由
-
ループを途中で抜けたいのですが。
-
Excel VBAで年度をまたぐ期間の...
-
break文でループを一気に抜ける...
-
PIC のプログラムについて ど...
-
for文while文の無限ループの違...
-
入力した数値を倍々するプログラム
-
エクセルVBAで Do While (1)って?
-
explodeと条件分岐
-
COBOLのEVALUATE文
-
For文の終了値を関数にしても問...
-
ループが回らない
-
C言語、whileループを抜け出す...
-
PAD図の書き方
-
交叉について
-
入力した文字列から母音だけを...
-
__asm int 3でのブレイクポイン...
-
他言語で言うcontinue文
-
Enterキーを押されたら次の処理...
-
2÷3などの余りについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
break文でループを一気に抜ける...
-
ループを途中で抜けたいのですが。
-
入力した文字列から母音だけを...
-
do-while文が禁止される理由
-
入力した数値を倍々するプログラム
-
C言語forループが完結した場合...
-
if文の中にfor文なのか、for文...
-
プログラミングC言語についての...
-
エクセルVBAで Do While (1)って?
-
For文の終了値を関数にしても問...
-
エクセルでC言語のfor文と同じ...
-
Delphiで・・・
-
ループの特定入力終了
-
UWSCにてある一定の動作を無限...
-
C言語、自己参照構造体のプログ...
-
C言語 数字を削除する関数
-
Cプログラムが終了しない
-
Excel VBAで年度をまたぐ期間の...
-
プログラムで関数は使わない方...
-
VBScriptでSQLに接続し、CSV出...
おすすめ情報