改错。下列程序中有三个错误,按原来程序的计算要求,纠正其错误 程序是在5个字符串中求最小字符串并输出结果。[程序] #include <string.h>#include <stdio.h> main() {char *name[5]={“FXPRESSION”,“VARIABLE”“STATEMENT”,“BLOCK”“FUNCTION"} char temp; int i; temp=name[0]; for(i=1;i<5;i++) if(temp >*name[i])>0) temp=name[il; printf(“%s\n”, *temp);
时间: 2024-03-25 09:35:27 浏览: 52
全国计算机二级c语言程序改错题100全中必过.doc
好的,我来帮您检查和改正这段程序。这段程序中有三个错误,分别是:
1. 第二个字符串“VARIABLE”后面缺少一个逗号。
2. 变量temp的类型应该是char*,而不是char。
3. 在最后输出结果时,应该使用printf("%s\n", temp)而不是printf("%s\n", *temp)。
下面是修改后的程序:
```c
#include <string.h>
#include <stdio.h>
int main() {
char* name[5] = {"FXPRESSION", "VARIABLE", "STATEMENT", "BLOCK", "FUNCTION"};
char* temp;
int i;
temp = name[0];
for (i = 1; i < 5; i++) {
if (strcmp(temp, name[i]) > 0) {
temp = name[i];
}
}
printf("%s\n", temp);
return 0;
}
```
修改后的程序使用了strcmp函数来比较字符串大小,将temp定义为char*类型,最后输出时使用了正确的格式化字符串。
阅读全文