-2
我想知道爲什麼此代碼與char tab[100]
正常工作,但如果我使用char *tab
不起作用? fgets函數需要一個char*
數組作爲參數嗎?調用函數時char數組[100]和char *數組之間的區別?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
Int Palindrome(char* str, int i, int j);
int main()
{
char tab[100];
printf("Enter your string : \n");
fgets(tab, 100, stdin);
int j = strlen(tab);
printf("%d\n", Palindrome(tab, 0, j - 2));
return 0;
}
int Palindrome(char* str, int i, int j)
{
if (i >= j)
{
printf("My word is a Palindrome !\n");
return printf("<(^w^)>\n");
}
else if (str[i] != str[j])
{
printf("My word is not a Palindrome !\n");
return printf("<(X.X)>\n");
}
else
{
return Palindrome(str, i + 1, j - 1);
}
}
那是'char tab' thingy? –
它將與'char * tab = malloc(100);' –
「不起作用」如何?你得到了什麼錯誤?這個'char * tab'聲明在哪裏?你有沒有打擾過爲它分配內存?花更多的精力來問一個可用的問題。 –