c语言求解,为什么不能调试

电脑教程019

c语言求解,为什么不能调试,第1张

我仔细阅读了你的 C 语言源程序,你的程序没有任何问题。程序功能就是交换两个正整数的数值。我的建议是:你首先检查一下你的 C 语言程序中的引号、括号、大括号、以及分号等是否均为小写英文字符?如果确认你的程序中的所有符号均为小写英文字符,那么你把该程序拷贝到另外一台有 C 编译器、并保证是能够正确编译、运行的机器上试试看,如果可以编译、运行的话,那就是你的机器上的编译器有问题了,你重新安装一下试一试。

首先要明确一点就是:你编写的程序代码是 C 语言(以 *.c 结尾)、还是 C++(以 *.cpp 结尾)?如果是 C 语言的话,那么所有的变量声明都必须集中写在使用变量之前,即:

int i, j, n, k, m, a[i][j]

而不能够把 int a[i][j] 写在 scanf("%d",&n) 的后面(C++可以这么写);

另外一个错误就是:即使把 int a[i][j] 语句写到了 scanf(%d", &n) 的前面,但是语句 int a[i][j] 仍然是错误的,必须采用如下的定义常量的写法。例如:

#define MIN 0

#define MAX 10

int a[MIN][MAX]

#include<stdio.h>

int main()

{

int i,j,n,k,m

scanf("%d",&n)

int a[i][j]

for(i=0i<ni++){

for(j=0j<nj++){

a[i][j]=i*n+j+1

}

}

for(k=0k<nk++){

a[i][j]=a[j][i]

}

i=0j=0

for(k=0k<4*(n-1)+1k++,i++,j++){

if(k%4!=0||k!=0){

printf(" ")

}

else

printf("%d",a[i][j])

}

printf("\n")

}

其他的语句我没有详细查看你的源代码,你可以一步一步进行调试。根据我的编写程序经验就是:调试通过一个程序的运行结果,要远远比编写一个程序费劲得多。