C言語プログラムの不具合に悩んでいます。
◇以下抜粋ソース
static int a=0;
・・・
int 関数A(){ /*別ファイルで使用*/
・・・
a=256;
・・・
}
int 関数B(){
int i;
・・・
for(i=0;i<a;i++){
if(for文を抜ける条件){break;}
}
if(i==a){ printf(エラー!);}
・・・
}
◇以上抜粋ソース
上記のソースより常にi=a=0になってしまうので常にエラーとなる気がするのですがいまいち確信が持てません。
というのも、このソースは他の人から頂いたもので、コマンドラインから実行すると何故か100パーセント正常動作するのです。
しかしブラウザを起動して、PHPファイルにアクセスし、PHPのEXEC関数から実行すると3回に1回ほどの割合で(エラー!)がでます。
3回に2回は正常動作します。
似たような不具合を御経験の方がおられれば何卒御教示ください。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
ご提示のソースからでしたら
関数Aの a=256;が実行される前でしたら aの内容は0でしょう
関数Aが呼ばれる前に関数Bが呼ばれれば i==aが成立します
エラーになる原因の特定が必要でしょうね
この実行ファイルが コマンドライン引数や何処かのファイルデータなど外部要因によって動いているのであればそれらが PHPで実行した場合とコマンドプロンプトから実行した場合で同じなのかどうかとか
期待している実行順序で実行されているのか
といったことを 一つ一つ潰していくしかないと思います
ログを吐くようにプログラミングして どこまで期待通りなのか
エラーになる際はどこで 意図しない動作なのかを見比べて見ましょう
御回答ありがとうございます。
実は2端末間の通信や暗号処理、認証処理など複雑なことをおこなっています。
確かに、ひとつひとつ見ていくしかなさそうです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- C言語・C++・C# pythonのファイルの並びでの読み込みとリストについて 4 2022/04/13 03:52
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# 3×3のラテン方陣をつくるプログラムを作成したのですが、(↓) #include <stdio.h> 5 2023/07/10 01:53
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
- その他(プログラミング・Web制作) Pythonのライブラリ、randomについて 3 2022/09/20 14:30
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトのエラーに...
-
exeファイルを実行するとコマン...
-
ホームページのリンクからプロ...
-
バッチファイルの内容を表示さ...
-
エクセル フォルダの画像を画...
-
VBscriptが起動しない?
-
Powershellとコマンドプロンプト
-
「読み取りと実行」と「読み取...
-
ネットワーク名が見つかりません
-
Accessの最適化について DBengi...
-
VBScriptでコマンドプロンプト...
-
vbsファイルをPC起動時に実行...
-
VBAでバッチファイルを1つ実行...
-
【VB.NET】exeを実行すると「発...
-
VScodeのエラー解決法 Pythonの...
-
バッチファイルの文字列をVBSに...
-
Excel VBA ステップインが途中...
-
Excelの、マクロ終了時にExcel...
-
PDFファイルを開き、印刷し、閉...
-
[teraterm] waitコマンドで停止...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトのエラーに...
-
exeファイルを実行するとコマン...
-
「読み取りと実行」と「読み取...
-
VBscriptが起動しない?
-
バッチファイルの内容を表示さ...
-
Excel VBA ステップインが途中...
-
[teraterm] waitコマンドで停止...
-
エクセル フォルダの画像を画...
-
ネットワーク名が見つかりません
-
VB.NETでのDOSコマンドを実行に...
-
Excel(エクセル) VBA プロシー...
-
複数のbatファイルを自動実行し...
-
Excelのセルの内容をコマンドプ...
-
PDFファイルを開き、印刷し、閉...
-
Access の VBA 実行中に他の操...
-
これってパソコンの最適化が完...
-
バッチファイルが不正終了して...
-
VBA 既に開いているBookに継続...
-
VScodeのエラー解決法 Pythonの...
-
【VB.NET】exeを実行すると「発...
おすすめ情報