C语言输出素数

#include<stdio.h>
int main()
{
int a,b,m,x,t;
int c;
printf("欢迎使用素数输出运算,请输入运算区间a~b。\n");
scanf("%d,%d",&a,&b);
c=0,t=0,m=2;
do
{
x=a;

do
{
c=x%m;
if(c==0)
{
t=t+1;m=m+1;
}
else
m=m+1;
}while(m!=x);
if(t==0)
{
if(a!=1)
printf("%d;",x);
}
x=x+1;
}while(x!=b+1);
}
大佬们看看为什么不对啊?可以运行,也没有错误,但无任何输出……
程序目的是输出指定区间内的素数

第1个回答  2017-12-02
//你的逻辑错误太多,给你个新的得了
#include<stdio.h>

int main()
{
int a,b,i,j;
printf("欢迎使用素数输出运算,请输入运算区间a~b。\n");
scanf("%d,%d",&a,&b);
for(i=a;i<=b;i++)
{
if(i>1)
{
for(j=2;j<i;j++)
{
if(0==i%j)
{
break;
}
}
if(j>=i)
{
printf("%d ",i);
}
}
}
return 0;
}本回答被网友采纳
第2个回答  2017-12-02
里层do循环是死循环,因为算法错误得不到退出条件m==x。