前提・実現したいこと
大学の授業の予習中です。Macのターミナルに問題が起きました。
コードの問題はないと思います。
発生している問題・エラーメッセージ
コンパイル済みの実行ファイルがターミナルで正しく実行されません
./a.out とすると、何も起きず、1文字入力すると入力した文字にかかわらず5とだけ出力されてプログラムが終了します
どの実行ファイルに対しても同じ問題が起きるので、コードの問題ではないと思います。
エラーメッセージ
エラーは出ません
該当のソースコード
#include <stdio.h>
#define N 11
#define YES 1
#define NO 0
main(){
int h[N];
int lo,hi,k,z,i,find;
//データの読み込み
for ( i = 0; i < N; i++) {
scanf("%d",&h[i] );
}
scanf("%d",&z );//探す値の入力
find=NO;
lo=0;
hi=N-1;
do {
k=(lo+hi)/2;
if (h[k]>z) {hi=k-1;}
if (h[k]<z) {lo=k+1;}
if (h[k]==z){find=YES;}
} while(find==NO && hi>lo);/探す値が見つかっておらず、かつ探索範囲内の上限値>下限値であれば繰り返す/
if(find==YES){
printf("%d\n",k );
}else{
printf("No data\n" );
}
}
C言語
試したこと
ソフトウェアのアップデート
Macのターミナルアプリを使っていたのですが、この問題が解決されないので、iTermをインストールして実行してみましたが、問題は解決しませんでした。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー