main中的void.return
给大家一个程序把
#include "stdio.h"
#define N 10
static unsigned startnum(unsigned int seed)
{
k=seed;
}
unsigned randnum(long n)
{ k=((k*159)%n)+1;
return k;
}
main()
{register unsigned int i;
long n=0;
while(!(n>0&&(k>0&&k<=65535)))
{printf("\nInput the seed and the max random[1-65535]:\n");
scanf(%ld%ld,&k,&n);
if (n<=0)
printf("\n wrong number!");
if(k<=0||k>65535)
printf("\n wrong max random!");
}
startnum(n);
for(i=0;i<N;i++)
printf(%6u",randnum(n));
return;
}
没有return会陷入死循环
----------------解决方案--------------------------------------------------------
楼主想问什么?
main()函数不是void型(无返回值型),当然应该有返回值。
如果用void定义后就不需要返回值了,也就不要return 语句了。
----------------解决方案--------------------------------------------------------
那是不是所有的都要加void或在main()中加return;呢
----------------解决方案--------------------------------------------------------
一般的程序 不加也能调试过 但编译器会给出警告
----------------解决方案--------------------------------------------------------
用了Void返回时用return(0).不用Void就带一个反回值.
不知道说的对不对还请高手指点.
----------------解决方案--------------------------------------------------------
有void 就不能有return, 没有void 就要有return. 没有Void返回时要看情况,不一定用return(0).
比如说
int add(int y)//直接写add(int y)也可以
{
y++;
return y;
}
void main()
{
int x,z;
scanf("%d",x);
z=add(x);
printf("%d",z);
}
上面等价于
void add(&y)
{
y++;
return y;
}
main()
{
int x,z;
scanf("%d",x);
add(x);
z=x;
printf("%d",z);
return 0;//return 1也可以啊,不过习惯上写return 0;
}
----------------解决方案--------------------------------------------------------
直接定义成void main就行了,void表示函数没有返回值,或者说返回值是NULL型
----------------解决方案--------------------------------------------------------