[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[WitchTech 00367] 配列?ポインタ?



どうも、とみしんです。

先日、コードの文法は合っているはずなのに
正常な値が出力されないコードを確認したので
MLに投稿します。

ただし、以下の件がすでに問題として提起されて
いる可能性もあるので、その時は
そのことを指摘し、以後この件は無視してください。


正常な値が出力されないコードその1
#include <sys/bios.h>

void main()
{

	int a[] = { 40, 50, 60, 70, 80, };
	int b[] = { 30, 25, 22, 38, 41, };
	int c = 10;
	int i;
	static float r[5];

	text_screen_init();
	for (i = 0; i < 5; i++){
		r[i] = (float)(a[i] - b[i]) / (float)(c);
		text_put_numeric(0, i, 4, 4, r[i] * c);
	}
	key_wait();
}

以下、その2のコード
(その1のコードと同等のコード)
(ただし、こちらは正常出力されます。参考までです)
#include <sys/bios.h>

void main()
{

	int a[] = { 40, 50, 60, 70, 80, }, *pa = a;
	int b[] = { 30, 25, 22, 38, 41, }, *pb = b;
	int c = 10;
	int i;
	static float r[5], *pr = r;

	text_screen_init();
	for (i = 0; i < 5; i++){
		*pr = (float)(*pa - *pb) / (float)(c);
		text_put_numeric(0, i, 4, 4, *pr * c);
		pa++;
		pb++;
		pr++;
	}
	key_wait();
}

その1のコードはVCでも確認しましたが
その時はその2のコードと同じ正常な値が出力されました。
みなさんのとこではどうでしょう?

ちなみにコンパイラはLSI-Cを使ってます。



別件ですが、よこやえりなさん、あんみつさん
ローテート、テストの件フォローありがとうございます。
Cだけで書くつもりなんで
たぶん使わないんでしょうけど(笑)
(でも、気にしなくていいことがわかっただけでもラッキー)





ML Archives