疑難解決 2020-11-23

水淼木森水生木發表於2020-11-23

疑難解決

時間:2020/11/23

執行軟體:VS2019

#include <stdio.h>
void T(int a[3][3])
{
	int i, j, t;
	for (i = 0; i < 3; i++)
		for (j = i + 1; j < 3; j++)
		{
			t = a[i][j];
			a[i][j] = a[j][i];
			a[j][i] = t;
		}
}int main()
{
	int a[3][3] = { {1,2,3},{4,5,6},{7,8,9} };
	int i, j;
	void T(int a[][3]);
	printf("原陣列為:\n");
	for (i = 0; i < 3; i++)
	{
		for (j = 0; j < 3; j++)
		{
			printf("%d,", a[i][j]);
			

		}
		printf("\n");
	}
	T(a);
	printf("轉換後為:\n");
	for (i = 0; i < 3; i++)
	{
		for (j = 0; j < 3; j++)
		{
			printf("%d,", a[i][j]);
	
		}
		printf("\n");
	}
	return 0;

}

要點:將函式體內的第二層迴圈裡面的j=0改成j=i+1就行

原因未明!

相關文章