C语言 题目(简单)

void main()
{
int m[]={1,2,3,4,5,6,7,8,9,},i,j,k;
for(i=0;i<4;i++)
k=m[i];
m[i]=m[8-i];
m[8-i]=k;
for(j=0;j<9;j++)
printf("%d",m[j]);
putchar("\n");
}

错误提示:
error C2664: “putchar”: 不能将参数 1 从“const char [2]”转换为“int”
请问如何改动

我来为你解答解答吧!
首先楼主这个程序的目地是把数组中的元素前后对调,然后再输出吧!
你的前面程序都没有问题,但有个小小的地方你请注意:
void main()
{
int m[]={1,2,3,4,5,6,7,8,9,},i,j,k;
for(i=0;i<4;i++)
{
k=m[i];
m[i]=m[8-i];
m[8-i]=k;
}
for(j=0;j<9;j++)
printf("%d",m[j]);
putchar("\n");
}

那就是在for循环中加上大括号,这样就把里面的语句全都包括进去了。这里加上括号就会让自己或则别人看你的程序的时候知道这些语句都是包括在for循环中,如果没有大括号,很容易看出去的。

楼主的错误在于对putchar()括号中的元素性质不熟悉,putchar()与getchar(),都是专门用来输出或则获取字符数据的,而字符数据在C中的书写要加上‘’这个符号,比如'A',所以在使用putchar(),输出时不是加上""这个符号,只要添加字符型数据就可以,也就是'\n',putchar('\n').
注意,我这里的‘’这个符号不太准确,因为键盘打不出来,因该是两个小憋。呵呵
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-08-11
putchar('\n');双引号改成单引号即可

双引号表示字符串
单引号表示字符
putchar要求用字符