为什么会出错呢?运行结果不只有素数,哪里出现问题了?怎么改呢?

程序有问题,你的函数返回值你根本没有用,且函数中s!=0时,返回是随机值,改好的
#include <stdio.h>
int prime_number(int n)
{
int j;
int s = 0;
for (j = 2; j < n; j++)
{
if (n % j == 0)
{
s = j;
break; //加个
}
}
return !s; //若s不为0,返回0,否则为1
}
int main()
{
int i = 0;
for (i = 2; i <= 200; i++)
{
int ret;
ret = prime_number(i);
if (ret) //加个判断
printf("%d\t", i);
}
return 0;
}