#include<stdio.h>
#include<string.h>
int capital(char *str[])
{
int i, len;
len = strlen(*str); for(i=0; i<len; i++){ *str[i] = tolower(*str[i]); } printf("%s\n", *str); return 0;
}
int lower(char *str[]){
int i, len;
len = strlen(*str); for(i=0; i<len; i++){ *str[i] = toupper(*str[i]); } printf("%s\n", *str); return 0;
}
int explain(void){
printf("引数は2つ。\n1番目の引数で動作モードの選択\n2番目の引数で文字列の入力\nを行う。\n");
printf("1番目の引数で"-u"を入力すると、入力された文字列中のアルファベットは全て大文字にして出力する。\n"-l"を入力すると、入力された文字列中のアルファベットは全て小文字にして出力する。\n");
printf(""-h"を入力すると、このように説明分が出力される。\n");
return 0;
};
int error(void){
printf("指定できる引数は2つです。\n");
return 0;
}
int main(int argc, char *argv[])
{
if(argc == 2){ if(*argv[0] == "-u"){ capital(*argv[1]); }else if(*argv[0] == "-l"){ lower(*argv[1]); }else if(*argv[0] == "-h"){ explain(); }else{ explain(); } }else{ error(); }
}
このようなプログラムを作成し、
-u と AbCdE を引数として渡しているのですが、
errorという関数しか実行されません。
初心者のため、検索しても解決策が見つからず
困っています。
コマンドライン引数がうまく受け渡しできていないみたいなのですが、
なぜでしょうか?

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。