当前位置: 代码迷 >> C语言 >> [求助]为什么倒过来就不行了?
  详细解决方案

[求助]为什么倒过来就不行了?

热度:97   发布时间:2008-02-27 22:31:54.0
[求助]为什么倒过来就不行了?
void main(){
  int i;
  FILE *fp;
  fp=fopen("result","w");
  for(i=10;i<1000;i++){
    if(ji(i)==1 && ji(fan(i))==1) fprintf(fp,"  %d",i);
  }
}
这样写能运行(先别管ji和fan是什么函数了)
但是:
void main(){
  FILE *fp;
  fp=fopen("result","w");
  int i;
  for(i=10;i<1000;i++){
    if(ji(i)==1 && ji(fan(i))==1) fprintf(fp,"  %d",i);
  }
}
把那个int i;移下位置为什么就不行了啊?
请大家麻烦说下,我想不起来了
搜索更多相关的解决方案: void  result  main  fopen  

----------------解决方案--------------------------------------------------------
全文:
#include<stdio.h>
#include<math.h>
int ji(int a){
  int n;
  for(n=2;n<=sqrt(a);n++){
    if(a%n==0) return 0;
  }
  return 1;
}
int fan(int a){
  int i,j,k;
  i=a%10;
  a=(a-i)/10;
  j=a%10;
  k=(a-j)/10;
  return i*100+j*10+k;
}
void main(){
  int i;
  FILE *fp;
  fp=fopen("result","w");
  for(i=10;i<1000;i++){
    if(ji(i)==1 && ji(fan(i))==1) fprintf(fp,"  %d",i);
  }
}
----------------解决方案--------------------------------------------------------
c一般是先集体声明变量,然后在使用,不可以间杂用,你的代码在c++里面没问题
----------------解决方案--------------------------------------------------------
恩,我记得是有这么个说法,建议先集体定义好再用,但是不知道为什么啊?
楼上的,谢谢啦
----------------解决方案--------------------------------------------------------
你 TC 吧
----------------解决方案--------------------------------------------------------
c一般是先集体声明变量,然后在使用,不可以间杂用,你的代码在c++里面没问题
vc也是一样,只要你文件后缀是.c 它还是按规则来的,与编译器没关系

[[it] 本帖最后由 sunkaidong 于 2008-2-28 10:07 编辑 [/it]]
----------------解决方案--------------------------------------------------------
c中不合法,c++中合法!
----------------解决方案--------------------------------------------------------
  相关解决方案