C言語でのループ処理を教えてください
Q&A
Closed
解決したいこと
C言語で以下のようなループ処理を実装したいのですがいささか案に行き詰まってしまいました。何か解決策をくださるとありがたいです。
//ループはwhileを使ってくださるとありがたいです。
//条件式はTrueかFalseかで判定してもらいたいです。(ヘッダファイルが使えない環境のため、
//bool型以外で判定してもらいたいです。
int main(){
while(1){
//ここでループを実行する。条件が満たせたら次のループ処理へ移行する。
//ここではaをループ毎ずつ1足していき、10を超えたらこの処理を停止し、次の処理へ移行してください。
//この下4行で一つのループです。
//前のループ処理が実行されている間、ここのループは実行しない。
//前のループが終わり次第、ここのループを実行する。
//条件が満たせ次第、ループを停止する。
//ここでの条件は、bをループ毎ずつ1足していき、20を超えたらこの処理を終了してください。
}
}
追記
ご指摘ありがとうございます。以下にコードを示しますのでご回答いただけると幸いです。
超音波センサを使い、前の障害物との距離を計測し、一定まで近づいたら処理が実行されます。
ev3_ultrasonic、、という関数は超音波センサを使って前の障害物との距離を計測し、int型でその距離を返すものです。
int find = 1;
int Trace;//どちらもグローバル変数です。
while(find){
int Findwall;
Findwall = ev3_ultrasonic_sensor_get_distance(ultraSonic_sensor);
if(Findwall <= 10){//前との距離が10cmまで近づいたら
Trace = 1;
find = 0;
}
else(Findwall > 10){
continue;
}
}
while(Trace){
//色々な処理。中略してあります。
int StopWall;
StopWall = ev3_ultrasonic_sensor_get_distance(ultraSonic_sensor);
if(StopWall <= 10){//前との距離が10cmまで近づいたら
Trace = 0;
}
}