【发布时间】:2015-04-16 15:52:30
【问题描述】:
我有一个 argv c 程序,它反转单词,看看它是否是回文。我只是想清理输出并让它打印原始输入而不是反向输入,但由于它是 argv,我似乎无法弄清楚该怎么做。
int main(int argc, char* argv[])
{
char *string = (char*)malloc(1000);
string[0] = '\0';
for(i = 1; i < argc; i++)
strcat(string, argv[i]);
for(j = 0; string[ j ]; j++)
string[j] = tolower(string[ j ]);
reverse(string);
printf("Reverse of entered word is \"%s\".\n", string);
result = is_palindrome(string);
if ( result == 1)
printf("\"%s\" is a palindrome.\n", string);
else
printf("\"%s\" is not a palindrome.\n", string);
system("pause");
}
我省略了其余的函数,但您可以在 main 中看到 printf 显示它是否是回文。不知道如何让它等于原始输入,并且知道参数的数量。目前它打印反转的字符串,当我认为打印原件看起来会更好时。我觉得我做得太难了,但我不确定。
【问题讨论】:
-
什么是
argv程序?所有main都可以通过argv接收参数。 -
为什么不直接打印字符串之前你反转它?