在线编译器 C

#include <stdio.h> int main(){ int n; scantf("%d",&n); int a[100]; for(int i=0;i<n;i++){scanf("&d",&a[i]);} int max=a[0]; int min=a[0]; for(int i=1;i<n;i++){ if(a[i]>max){max=a[i];} if(a[i]<min){min=a[i];} printf("%d\n",max-min); }
这段代码试图读取一组整数,然后找出最大值和最小值,并输出它们的差。但代码中存在几个错误。

- 第4行使用了 `scantf`,这是拼写错误,应该是 `scanf`。
- 第6行 `scanf("&d",&a[i])` 中格式字符串写成了 `"&d"`,应该是 `"%d"`。
- 第12行 `printf` 被放在了循环内部,导致每次比较后都输出一次差值,而不是在循环结束后输出最终结果。