为什么函数里定义的变量重复用if语句赋值,返回主函数时,会出现问题呢?如果是在函数开头定义变量时就给这个变量赋值,用if语句更改一次变量的值,返回主函数时就正常呢?求指教。
当这样编程prime函数时,出现问题,无法输出
#include<stdio.h>
int main()
{
int prime(int x);
int a;
for(a=100;a<=200;a++)
{
if(prime(a))
printf("%7d ",a);
}
return 0;
}
int prime(int x)
{
int i,z;
for(i=2;i<x;i++)
{
if(x%i==0)z=0;
}
if(i>x)z=1;
return z;
}
但是如果是这样编函数时,就没有问题
#include<stdio.h>
int main()
{
int prime(int x);
int a;
for(a=100;a<=200;a++)
{
if(prime(a))
printf("%7d ",a);
}
return 0;
}
int prime(int x)
{
int i,z=1;
for(i=2;i<x;i++)
{
if(x%i==0)z=0;
}
return z;
}