こんにちは1次元配列の中をチェックし0だけがあれば"OK"という表示がでるプログラムを作りたいのですが、自作関数が機能しません。どなたか回答お願いします。
自作関数"tansa"の中の"c"は配列の中の総和です。総和が0なら次の処理へ。1なら"break"です。
(本当は多次元(?)配列でチェックするものを作りたかったのですが、そちらは宣言でエラーが出てしまい1次元配列を複数使用しています。
自作関数"tansa"はforを2つ使用してもできると思ったのですが。ひとまず掲載しているものの変更をお願いします。
#include "stdafx.h" #include "string.h" #include "stdio.h" #include "stdlib.h" #include "time.h" void tansa(); int bufni[4] = { 0,0,0,0 }; int bufsan[4] = { 0,0,0,0 }; int bufyon[4] = { 0,0,0,0 }; int bufgo[4] = { 0,0,0,0 }; int bufroku[4] = { 0,0,0,0 }; void main() { printf("\n\n\n\nstart\n\n\n\n\n"); tansa(); printf("end\n\n\n\n\n"); } void tansa() { int a; int b, c; int i; for (i = 0; i == 1; i++) { for (a = 1; a < 4; a++) { b = bufni[a]; c += b; } switch (b) { case 0: a = 0; case 1: break; default: break; } a, b = 0; //a,bの初期化 for (a = 0; a < 4; a++) { b = bufsan[a]; c += b; } switch (b) { case 0: a = 0; case 1: break; default: break; } a, b = 0; for (a = 0; a < 4; a++) { b = bufyon[a]; c += b; } switch (b) { case 0: a = 0; case 1: break; default: break; } a, b = 0; for (a = 0; a < 4; a++) { b = bufgo[a]; c += b; } switch (b) { case 0: a = 0; case 1: break; default: break; } a, b = 0; for (a = 0; a < 4; a++) { b = bufroku[a]; c += b; } switch (b) { case 0: printf("OK\n"); break; case 1: break; default: break; } } } コード
追記
エラー分の内容(一部)
debug error!
...
..
run-time check failure#3-the bariable'c'is being used without being initializted.
回答5件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/03/30 06:15