RT,今天把书上P20页的代码敲了一遍,可以肯定是没有错误的,但是Dev-C++给报了个错。
- #include <stdio.h>
- #include <math.h>
- int main ()
- {
- for(int a = 1; a <= 9; a++)
- for(int b = 0; b <= 9; b++)
- {
- int n = a1100 + b11;
- int m = floor(sqrt(n) + 0.5);
- if(mm == n)
- printf("%d\n", n);
- }
- }
Dev-C++报错,提示
5 D:\用户目录\我的文档\C\7744问题(1).c ‘for’ loop initial declaration used outside C99 mode
百度得知
C99标准之外的C标准支持下面这种for 循环的变量i的定义及初始化方式:
- int i=1;
- for (i=1; i<10; i++)
- {
- printf("Hello C!");
- }
所以这道题我们应该这么改动一下
- #include <stdio.h>
- #include <math.h>
- int main ()
- { int a = 1;
- int b = 0;
- for(a = 1; a <= 9; a++)
- for(b = 0; b <= 9; b++)
- {
- int n = a1100 + b11;
- int m = floor(sqrt(n) + 0.5);
- if(mm == n)
- printf("%d\n", n);
- }
- }
就可以了。