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 ++。我试图初始化指针“开始”指向字符串“句子”中的第一个字符,但它一直给我一个错误,“赋值从没有强制转换的指针生成整数”。 “*句子”指向用户在主要输入的字符串。 ispalindrome是一个函数即时写作。如果在main中输入的句子是NULL,则假设返回0。
答案 0 :(得分: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];
答案 1 :(得分:0)
您的代码中存在许多问题,但导致该错误消息的问题是您在不需要时解除引用。你想要:
begin = &sentence[0];
end = &sentence[i-1];
答案 2 :(得分:0)
begin = &sentence[0];
end = &sentence[i - 1];
这将解决您的问题..
答案 3 :(得分:-1)
您应该在
中写下[]
而不是()
*begin= &sentence(0);
在将其分配给开始和结束之前,你应该将句子加入(char *)。
*begin = ((char*)sentence)[0];
*end = ((char*)sentence)[i -1];