ここでは、ユーザが/ nの印刷に名前と などをスキャンすると、このプログラムに自分自身の に関する情報を表示するプログラムですが、gccの印刷なしまったく。 私はargvとargcを使ってパラメータをスキャンする必要があります。 どうすれば解決できますか?argvとargcを使用した印刷
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define SIZE 10
int main(int argc, char** argv)
{
for (int i = 1; i < SIZE; i++)
{
if (argv[i] == ' ')
{
break;
}
if (argv[i] == 'n' || argv[i] == 'b' || argv[i] == 'f' || argv[i] == '?' && argv[i - 1] == '/')
{
switch (i)
{
case 'n':
printf("my name is : Daniel Zingerman \n");
break;
case 'b':
printf("my birth date is: 2/11 \n");
break;
case 'f':
printf("my favorite food is: ice cream \n");
break;
case '?':
printf("the instruction of the program:");
printf("There is a lot of parameters you can scan into the program:");
printf("1. /n - printing the name");
printf("2. /b - printing the birth date");
printf("3. /n - printing the favorite food");
printf("4. /? - printing the instructions");
break;
}
}
}
system("pause");
return(0);
}
あなたがこのプログラムに会った最初の驚きは何ですか? – fluter
は、string.hのstrcmpを使用して文字列を比較します。そして、argcはSIZEではなく、forループを制限するべきです。 – jboockmann
正確には 'case '/ n':'? –