C语言问题

[复制链接]
查看11 | 回复4 | 2008-8-16 09:00:11 | 显示全部楼层 |阅读模式
char printmessage(char n){
printf("programming is fun.%i\n",n );
}
int main(void)
{
printmessage("ccss");
return 0;
}
有什么错误啊 为什么?
int printmessage(int n){
printf("programming is fun.%i\n",n );
}
int main(void)
{
printmessage(11111);
return 0;
}
int printmessage(n){
printf("programming is fun.%i\n",n );
}
int main(void)
{
printmessage(1111);
return 0;
}
这样怎么没错呢

回复

使用道具 举报

千问 | 2008-8-16 09:00:11 | 显示全部楼层
你用char传递的是字符参数,你的“ccss”是字符串所以不符合。当你的形参是int或者没有指定形参类型,默认int时就正确了,因为1111就是一个数字,不管多少位
回复

使用道具 举报

千问 | 2008-8-16 09:00:11 | 显示全部楼层
printmessage(char n)参数是字符型,而你的实参送入的是字符串,显然错误。后两个的形参与实参之间的类型相同。
回复

使用道具 举报

千问 | 2008-8-16 09:00:11 | 显示全部楼层
zhuifeng8866 -说的对,不过我在纳闷,LZ的函数没有返回语句可以编译过去么?什么编译器,哪个版本?
回复

使用道具 举报

千问 | 2008-8-16 09:00:11 | 显示全部楼层
返回值有问题
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行