求解 急 void 的具体用法

shi1095406754 2013-04-09 05:09:51

这个程序中如果将void改为int 怎么样 为什么我改后却出错呢



#include<stdio.h>
int main()
{
void sort(int array[],int n);
int a[10],i;
printf("please enter 10 nums:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
sort(a,10);
printf(" the sorted is\n");
for(i=0;i<10;i++)
printf("%d",a[i]);
printf("\n");
return 0;
}
void sort(int array[],int n)
{
int i,j,k,t;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(array[j]<array[k])
k=j;
t=array[k];array[k]=array[i];array[i]=t;

}
}
...全文
212 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
微光世界· 2013-04-13
  • 打赏
  • 举报
回复
引用 1 楼 starytx 的回复:
void表示不用返回一个值,如果改成int那你的函数就需要一个返回语句 return n;你自己决定n的取值
+1
wizard_tiger 2013-04-12
  • 打赏
  • 举报
回复
void是表示函数不用返回值,而int是要返回一个整型值的。
harrod2009 2013-04-12
  • 打赏
  • 举报
回复
return 0;行么
zhcosin 2013-04-12
  • 打赏
  • 举报
回复
你没搞清楚 void 的含义。
赵4老师 2013-04-11
  • 打赏
  • 举报
回复
楼主不会用强制类型转换。
hdk_1992 2013-04-11
  • 打赏
  • 举报
回复
贴具体改好后的代码
hznat 2013-04-11
  • 打赏
  • 举报
回复
void sort(int array[],int n);
如果将void改为int表示需要返回一个int类型的返回值。而在你的sort函数定义中,没有return语句,所以一般编译器都会报错。 即使你使用void作为返回值,作为一个良好的习惯,也应该使用
return;
语句。
guanyyu 2013-04-11
  • 打赏
  • 举报
回复
楼主刚刚学吗
酷爱19931209 2013-04-11
  • 打赏
  • 举报
回复
引用 1 楼 starytx 的回复:
void表示不用返回一个值,如果改成int那你的函数就需要一个返回语句 return n;你自己决定n的取值
正解
WGL__WGL 2013-04-11
  • 打赏
  • 举报
回复
引用 9 楼 zhao4zhong1 的回复:
楼主不会用强制类型转换。
+++1
renren_renren 2013-04-09
  • 打赏
  • 举报
回复
main没有需要返回的值,设定为void,设定为int就要哟返回的值
AnYidan 2013-04-09
  • 打赏
  • 举报
回复
引用 2 楼 ph_wuwuwu 的回复:
你是怎么改的?
++ 为什么要改?
xiayiguo 2013-04-09
  • 打赏
  • 举报
回复
void 表示不需要返回值,int 表示要返回一个int 类型的值,可以用return 语句返回。
无间虚者 2013-04-09
  • 打赏
  • 举报
回复
引用 1 楼 starytx 的回复:
void表示不用返回一个值,如果改成int那你的函数就需要一个返回语句 return n;你自己决定n的取值
++ 。。。。
噗噗 2013-04-09
  • 打赏
  • 举报
回复
你是怎么改的?
starytx 2013-04-09
  • 打赏
  • 举报
回复
void表示不用返回一个值,如果改成int那你的函数就需要一个返回语句 return n;你自己决定n的取值

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧