在代码的第2行定义了一个名为 m1 的宏,但是这个宏并没有被使用或定义为一个有意义的值,因此在第11行尝试访问数组 n 时会出现错误。
此外,在代码的第6行有一个括号多余,应该改为 for(i=0; i<=1; i++)。
修改后的代码如下所示:
#include <stdio.h> int main() { int i, n[2], a, b; for (i = 0; i <= 1; i++) { scanf("%d", &n[i]); } b = 0; a = n[0]; for (i = 0; i <= 1; i++) { if (a < n[i]) { b = i; a = n[i]; } } printf("max=%d\n", n[b]); return 0; }
现在运行程序,输入5和7,将会输出 max=7。
此外,在代码的第6行有一个括号多余,应该改为 for(i=0; i<=1; i++)。
修改后的代码如下所示:
#include <stdio.h> int main() { int i, n[2], a, b; for (i = 0; i <= 1; i++) { scanf("%d", &n[i]); } b = 0; a = n[0]; for (i = 0; i <= 1; i++) { if (a < n[i]) { b = i; a = n[i]; } } printf("max=%d\n", n[b]); return 0; }
现在运行程序,输入5和7,将会输出 max=7。

