• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:条件式について)

C言語の条件式についての問題

Wakkey-sanの回答

回答No.5

#1です。ハードウェアとの連携でしたか…。 すでに他の皆さんが書かれているとおり、実値をハード側が意図する値を返していないのか、 あるいはコーディングミスで a[i]==a[i-1] が成立していないのか確認する必要がありますね。 Windowsで動かしているのであれば、OutputDebugStringが使えばexeを直接走らせても外部で 情報を取得できます。  OutputDebugString  http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpdebug/html/_win32_OutputDebugString.asp  「デバッグモニタツール」(OutputDebugStringの内容をリアルタイムに表示)  http://www.vector.co.jp/soft/dl/winnt/prog/se278126.html if(time>=2000) の中で char str[256]; // 文字列バッファ sprintf( str, "i=%d, a[i]=%d, a[i-1]=%d", i, a[i], a[i-1] ); // デバッグ情報文字列 if( (2000 <= time)&&(3000 <= time) ) OutputDebugString( str ); // リミッター とすればいいと思います。

ryozeal
質問者

お礼

参考になるアドバイスありがとうございました。 再度、プログラム、出力値などを確認してなんとかなりました。 原因を書くとながくなってしまいますので、お礼のみとさせていただきます。ありがとうございました。

関連するQ&A

  • プログラミングソースコード(アルゴリズム)の条件分岐の記述の仕方

    C言語始め擬似言語等プログラムで条件分岐はif~else以外にないのでしょうか?3つ以上に分岐する場合どのように記述するのでしょう?

  • 条件演算子 ? :

    条件演算子 ”?:”をつかってif分と同じようなことができると知りました。 c = (a>b) ? a : 0 ; というようにスルのですが、ふと、条件に満たない場合はそのまま、という場合にはどう記述したらいいのかわかりません。ためしに c = (a>b) ? a : c ; としてみました。これで正しく動作したのですが、 //(a<=b)のときは c = c ; ということになるんですよね。これってなんとなく”無駄”な感じがします。 if文でいうと、"else"を記述しない場合の書き方で、スマートなものはないでしょうか?

    • ベストアンサー
    • Java
  • 条件式について

    お世話になります。 if (n == "aaaa"){aaaaに関する条件式; } else if (n == "bbbb"){bbbbに関する条件式; } else if (n == "cccc"){ccccに関する条件式; } とある場合、n に「aaaa」、「bbbb」、「cccc」以外の 不特定の文字列が入った場合の記述方法を教えてください。 よろしくお願い致します。

  • if文の条件式の書き方について

    現在VC++2005でプログラムを作成しています。 そこであるテキストファイルをテキストボックスに表示してからその表示されている内容の1行目をif文を使って判断するというものを作っています。 そこで、質問なのですがif文の条件を作るときに文字列として条件を入れたい場合はどのようにしたら良いのでしょうか? 現在は7:00ならばというものなのですが、読み込んだ文字列に7:00以外のものが入っていてもそのまま判断されてしまうのできっと条件式のところが問題だと思うのですが。 下に作成中のコードを書きますので、良かったらご教授お願いします。 ********************************************************* String^ ss; ss=textBox3->Text; ss=textBox3->Lines[0]; textBox5->Text=ss; String^ time; time=textBox5->Text; if (char time='7:00'){ MessageBox::Show("7時"); } else { MessageBox::Show("ミス"); } **********************************************************

  • 条件式の省略

    if文の条件式の中を省略したいと思っています。 for(i=0;i<5;i++){ if(p[i][0]==a[0]||p[i][0]==b[0]||p[i][0]==c[0]||p[i][0]==d[0] ||p[i][1]==a[0]||p[i][1]==b[0]||p[i][1]==c[0]||p[i][1]==d[0] ||p[i][2]==a[0]||p[i][2]==b[0]||p[i][2]==c[0]||p[i][2]==d[0] ||p[i][3]==a[0]||p[i][3]==b[0]||p[i][3]==c[0]||p[i][3]==d[0]){ continue; }else{ a[1]=p[i][0]; b[1]=p[i][1]; c[1]=p[i][2]; d[1]=p[i][3]; } ifの条件式の中のp[i][1]~p[i][3]を省略したいのですが、どうやったらできるかわかりません。ぜひ教えてください。

  • if [ 条件式 ]とif[[ 条件式 ]]

    シェルスクリプトでのif [ 条件式 ] と if [[ 条件式 ]] の違いについて教えてください。 以下のシェルスクリプトを実行すると、 意図したとおり、111 と出力されます。 =========▼▼(ここから)▼▼========= #!/bin/sh AAA=yes if [[ "$AAA" = [yY]* ]] then echo 111 else echo 222 fi =========▲▲(ここまで)▲▲========= 上記、スクリプト3行目の if [[ "$AAA" = [yY]* ]] の部分を if [ "$AAA" = [yY]* ] というように、角カッコ 1重にすると、 エラーは発生しませんが、 222と表示されます。 if [ 条件式 ] と if [[ 条件式 ]] の違いについて教えていただけないでしょうか。

  • 条件分岐(if)について

    条件分岐(if)についてお聞きしたことがあります。 例えば if($a == 'A' || $a == 'B'){ 処理 }else if($a == 'C' || $a == 'D' || $a == 'E'){ 処理 }............... といった条件分岐があったとて、お聞きしたいことが2点あります。 ・条件分岐この後も数十個続いたとします。その場合もelse ifで一つ一つ 条件を書かなければならないのでしょうか? ・条件式if($a == 'A' || $a == 'B'....)が長くなる場合プログラムが見にくくなるので 別途に条件式を書いておいてif文の所では($a == ◯)といったように簡潔に書くことは できないのでしょうか? 宜しくお願いします。

    • ベストアンサー
    • PHP
  • VBAで条件式について

    EXEL(VBA)で例えば、A列のデータが入っている行までの中で数値(x)が  x<2 ならばセルに色をぬる。そして空白セルと x>2ならば色をぬらない。 という条件式は、どうしたらいいのですか? Sub InteriorColor() For j= 5 to 21 worksheets(j).activate For i = 1 to 40 '30から40行ぐらい While cells(6+i,6)<>"" If(cells(6+i,6).value<2) Then ’6列7行目から  with selection.interior .Colorindex=45 .patern=xlsorid End with Wend End if Next i Next j End sub ということを連続していない列(5列ぐらい)に対してします。 同じ命令文になる部分もあるので簡潔にしたいという希望もあります。 上部の命令では無限ループの可能性があり実行が止まりません。 どのように記述したらいいのですか? また、同じブックのシート25枚のうち5枚目から21枚目に対して処理します。 5から21までのシートの間で関係ないシートが7枚目と10枚目と15枚目にあります。それを省いての処理もあれば教えてください。

  • 条件式

    お世話になります。初心者です。条件式について、知恵をお借りいただきたく、投稿しました。 サンプル ------------------------------- for i= 1 to 100 if i =x then Call *** next ------------------------------- 1)この”X”部分の記述法がわかりません。 2)させたいことは次です。 ・ある動作を100回ループさせる。 ・"i"が10増えるごとに、あるスクリプトを呼び出す よろしくお願いします。

  • エクセルマクロ 条件分岐 条件に合わない列は削除

    マクロ初心者です。 添付のようなデータが30000万行位ありますが、 1)セルAの値が16またはRFの場合はその行のデータをすべて残します 2)セルAの値が上記以外の場合はその行をすべて削除したいのですが 私なりに調べて次のようなマクロを記録しました。 Sub macro1() Dim i As Integer For i = 1 To 30000 If Cells(i, 1).Value = "16" Or Cells(i, 1).Value = "RF" Then Cells(i, 1) = Cells(i, 1) Else Rows(i).Delete End If Next i End Sub 1)の部分は何とか動いてくれているみたいですが 2)の条件に合わない行の削除の記録がぜんぜんだめみたいで途方に暮れています。 わかる方がいらっしゃいましたら是非ご教授願います。