C语言程序改错

2019-03-15 22:46发布

#include<stdio.h>

void main()

{

char c1='a';c2='b';c3='c';

int a=3.5;b='A';

printf("a=%d b='%c'"end"n",a,b);

printf("a%c b%cc%c abc ",c1,c2,c3);

}


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答

int table[3][]={{1,2,3,4},{2,3,4,5},{3,4,5,6}};
修改为:
int table[3][4]={{1,2,3,4},{2,3,4,5},{3,4,5,6}};
多维数组直接赋值时,不能省略数组的第二个下标的。
rowsum(table[3][4],3);
修改为
rowsum(table,3);
因为定义的时候
void rowsum(int a[][4],int nrow)
其中
int a[][4],其实指的就是二维数组,指针形式进入。
所以应该传入table这个首地址。
至于中间的
for(int j=0;j<=4;j++)
printf("%d ",table[i][j]);
这个地方,数组下标超了,应该是
for(int j=0;j<=3;j++)
printf("%d ",table[i][j]);

夺命薯条
2楼-- · 2019-03-15 23:37

语法上,程序main中前两行变量定义有问题,分号应该为逗号

正确的

char c1='a',c2='b',c3='c';

int a=3.5,b='A';

程序运行结果


一周热门 更多>