我搜索好半天才找到了答案,但我只找到一个解决方案的C++,似乎并没有为之工作C.我试图转换的论点const char *来char在我使用switch的语句.我尝试了各种各样的事情strdup(),但没有成功.
#include <stdio.h>
int main(int argc, const char *argv[]) {
char argOne = argv[1];
char argTwo = argv[2];
switch(argOne) {
case '1234' :
printf("1234!\n" );
break;
default :
printf("Invalid\n" );
}
}
Run Code Online (Sandbox Code Playgroud)
编译时:
警告:指向整数转换的不兼容指针使用类型为'const char*'的表达式初始化'char'[-Wint-conversion]
Run Code Online (Sandbox Code Playgroud)char argOne = argv[1]; ^ ~~~~~~~警告:溢出转换案例值到切换条件类型(825373492到52)[-Wswitch]
Run Code Online (Sandbox Code Playgroud)case '1234' : ^