Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 回文程序中的特定字符无效_String_Palindrome_Strcmp - Fatal编程技术网

String 回文程序中的特定字符无效

String 回文程序中的特定字符无效,string,palindrome,strcmp,String,Palindrome,Strcmp,这是我的密码。那些不“起作用”的字符列表,如果围绕cin继续说它们是回文,仍然说它们是正确的。不起作用的字符列表包括: 单引号、双引号、逗号、句点、正斜杠、反斜杠、破折号、感叹号、@symbols、#symbols、$symbols、%symbols、^symbols、&symbols、*符号(星号)、等于符号、+symbol int main() { int k = 1; int i; int length, halflength; int yesno = 1; char string [81

这是我的密码。那些不“起作用”的字符列表,如果围绕cin继续说它们是回文,仍然说它们是正确的。不起作用的字符列表包括:

单引号、双引号、逗号、句点、正斜杠、反斜杠、破折号、感叹号、@symbols、#symbols、$symbols、%symbols、^symbols、&symbols、*符号(星号)、等于符号、+symbol

int main()
{
int k = 1;
int i;
int length, halflength;
int yesno = 1;
char string [81];
char end[81] = "END";
while (k = 1)
{
    cout << "Please enter a string of characters. " << endl;
    cout << "Enter \"END\" in all caps to exit the program." << endl;
    cin.getline(string, 81);
    if (strcmp(string, "END") == 0)
    {
        return 0;
    }
    length = strlen(string);
    halflength = length / 2;

    for (i = 0; i < halflength; i++) 
    {
        if (string[i] != string[length - i - 1]) // comparing
            yesno = 0;
        break;
    }
    if (yesno) {
        cout << "You have successfully entered a palindrome." << endl;
    }
    else
    {
        cout << "You have not entered a palindrome." << endl;
        return main();
    }
}
}
intmain()
{
int k=1;
int i;
整数长度,半长度;
int-yesno=1;
字符串[81];
字符结束[81]=“结束”;
while(k=1)
{
你的程序会说,“你已经成功地输入了回文。”对于mlaylam

问题在于break语句没有放在正确的位置

块应该用大括号括起来,否则(正如您所做的),在检查第一个字符和最后一个字符后,for循环将中断,从而给出错误的结果

 if (string[i] != string[length - i - 1]){ // comparing
            yesno = 0;
            break;
        }