关于网友提出的“ 带参数的main函数的帮助信息如何写?帮看一下这个程序吧。”问题疑问,本网通过在网上对“ 带参数的main函数的帮助信息如何写?帮看一下这个程序吧。”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 带参数的main函数的帮助信息如何写?帮看一下这个程序吧。描述:
马上要离开这个工厂了,想搞个不一样的告别——用C来写个程序,当对方输入byebye.exe /qq 时打印出我的QQ号;当对方输入byebye.exe /email时打印我的邮箱地址;如果参数不对,就提示正确的参数。
我想用带参数的main来实现这个功能,大家能不能帮下我呢?
PS,以下程序的问题是出在switch (a)这里,如果要把argv[1]的参数进行选择,/qq,/email,分别打印不同的东西。应该怎么定义a ?
大家有什么好的点子呢?
#include
void main(int argc,char *argv[])
{
char a[7];
if (argc<2){//如果只有一个参数 byebye.exe,就打印帮助信息
printf("Farewell,all my friendly colleagues.\n",argv[0]);
printf("Please select:QQ or email.\n",argv[0]);
printf("For example:byebye.exe /qq display jerry's QQ.\n");
printf(" byebye.exe /email display jerry's private email.\n");
exit(0);
}
else {
strcpy(a,argv[1]);
/*printf("%s",a);*/
switch (a) {
case "/qq":
printf ("jerry's QQ is : 277xxxx\n");//显示我的QQ号码
break;
case "/email":
printf ("jerry's private email is :xxxxxx@163.com\n");//显示我的邮箱
default:
printf ("Please input correct letters!");
exit(0);
}
}
}
解决方案1:
printf(" byebye.exe /email display jerry's private email.\n");
exit(0);
//这不用exit(0),换成循环比较好
反正这么小的一个代码,你就用if,else if,然后用字符串比较得了。
解决方案3:case 后面是整型常量 应该用单引号 并且\是转义字符 应该用case '\\':单独判断
解决方案4:case 后面只能是整形或字符型常量或常量表达式
解决方案5:#include
#include
void main(int argc,char *argv[]) {
if (argc<2) {//如果只有一个参数 byebye.exe,就打印帮助信息
PROMPT:
printf("Farewell, all my friendly colleagues.\n");
printf("Please select display my QQ or email.\n");
printf("For example:\n");
printf(" %s /qq\n",argv[0]);
printf(" %s /email\n",argv[0]);
} else {
if (0==_stricmp(argv[1],"/qq")) {
printf ("jerry's QQ is: 277xxxx\n");//显示我的QQ号码
} else if (0==_stricmp(argv[1],"/email")) {
printf ("jerry's private email is: xxxxxx@163.com\n");//显示我的邮箱
} else {
goto PROMPT;
}
}
}