1
int isPurePalindrome(const char *sentence){ 
int i;     
if (sentence="")     
return 0; 
char *begin; char *end; i=strlen(sentence);//i is now the length of sentence string 
*begin= &sentence(0); 
*end=&sentence[i-1];

私はdev c ++を使用しています。文字列「文」の最初の文字を指すようにポインター「開始」を初期化しようとしていますが、「代入はキャストなしでポインターから整数を作成します」というエラーが表示され続けます。「*sentence」は、メインでユーザーが入力した文字列を指します。ispalindrome は、私が書いている関数です。main に入力された文が NULL の場合、0 を返すと仮定します。

4

4 に答える 4

3

コードにはいくつかの問題があります。

if (sentence="") return 0; 

する必要があります

if (strcmp(sentence,"")==0) return 0;

char *begin; char *end;

する必要があります

const char *begin; const char *end;

*begin= &sentence(0); 

する必要があります

begin = &sentence[0];

*end=&sentence[i-1];

する必要があります

end = &sentence[i-1];
于 2013-04-09T04:51:15.067 に答える
0
begin = &sentence[0];
end = &sentence[i - 1];

これはあなたの問題を解決します..

于 2013-04-09T05:01:18.087 に答える
0

コードには多くの問題がありますが、そのエラー メッセージの原因となっているのは、必要のないときに逆参照を行っていることです。あなたがしたい:

begin = &sentence[0];
end = &sentence[i-1];
于 2013-04-09T04:51:16.963 に答える