strupr 不是将字符串转换为大写的吗?为什么一用程序停止工作呢?
											直接上代码,求大神指点 程序代码:
程序代码://程序判断输入是不是行星名,并返回提示语。
//例:命令行输入planet mercury运行程序,程序输出mercury is planet 1
//例:命令行输入planet sun运行程序,程序输出sun is not a planet
//注:忽略输入的命令行参数的大小写
//程序名为planet.c
#include <stdio.h>
#include <string.h>
#define NUM_PLANETS 9
//将输入的命令行参数与一个planets字符数组依次比较
int main(int argc, char *argv[])
{
    char *planets[] = {"Mercury", "Venus", "Earth",
                        "Mars", "Jupiter", "Saturn",
                        "Uranus", "Neptune", "Pluto"};
    int i, j;
    for (i = 1; i < argc; i++){
        for (j = 0; j < NUM_PLANETS; j++)
            if (strcmp(strupr(argv[i]), strupr(planets[j])) == 0){    //这里只要把两个strupr都删除程序就能正常工作,否则就停止工作。但是删除strupr后输入的命令行参数就有大小写的要求了。为什么不能使用strupr呢?
                printf("%s is planet %d\n", argv[i], j + 1);
                break;
            }
        if (j == NUM_PLANETS)
            printf("%s is not a planet\n", argv[i]);
    }
    return 0;
}
 
											






 
	    



 
											