在线编译器 C

#include <stdio.h> int main() { int a[10]; int min; int max; int q; int p; for (int i = 0; i < 10; i++) { scanf("%d", &a[i]); } max = a[0];p=1 for (int i = 0; i < 10; i++) { if (a[i] > max) { max = a[i]; p = i + 1; } } printf("%d ", p); printf("%d ", max); min = a[0];q=1 for (int i = 0; i < 10; i++) { if (a[i] < min) { min = a[i]; q = i + 1; } } printf("%d ", q); printf("%d ", min); return 0; }
这段代码的功能是:读入10个整数,找出最大值及其位置(位置从1开始计数),再找出最小值及其位置,然后依次输出最大值的位置、最大值、最小值的位置、最小值。

代码中存在语法错误,导致无法编译通过。

- 在第12行和第22行,赋值语句后面缺少分号。C语言中每条语句必须以分号结束,这里 `p=1` 和 `q=1` 后面都没有分号,编译器会报错。