c语言实例讲解

#include "stdio.h"
void main()
{
int n,i;
printf("please input a number>2:");
scanf("%d",&n);
for(i=2;i<n;i++);
if(a%i==0)
break;
if(i<n)
printf("%d not a sushu\n",n);
else
printf("%d is a sushu\n",n);

}

??不能运行???
for(i=2;i<n;i++);
if(n%i==0) //打快了。按了下A
break;

以下这一段出了问题
for(i=2;i<n;i++);
if(n%i==0)
break;

for()后面跟的是语句,你打的for(i=2;i<n;i++);就坏在括号外面的 “; ”
这相当于,不执行任何东西……因为 ; 是一个空语句……
你的本意是当for循环条件成立时执行
if(n%i==0)
break;
但是for()后面的;使得这两个语句没有发挥应有的作用……
请记住,for(),while(),do while,if()后面一般都不会紧跟着 ” ; “

修改后程序如下,应该能实现的你要求
#include<stdio.h>
int main(void)
{
int n,i;
printf("please input a number>2:");
scanf("%d",&n);
for(i=2;i<n;i++)
{
if(n%i==0)
break;
}
if(i<n)
printf("%d not a sushu\n",n);
else
printf("%d is a sushu\n",n);
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-01-19
太平洋电脑网 有啊 找一下 我下过
第2个回答  2011-01-20
太平洋电脑网 有啊 找一下 我下过
相似回答