用指针打印字符串的C程序设计

用指针打印字符串的C程序设计,c,string,reverse,C,String,Reverse,我的程序将从用户处获取一个字符串,并向后打印句子。它将继续要求用户输入另一个字符串,直到该字符串等于退出。我遇到的问题是,当用户输入quit时,当我希望它只打印“谢谢”时,它会继续循环。我不知道为什么用户输入quit时if和else语句不起作用 #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char chr; char *cPtr; ch

我的程序将从用户处获取一个字符串,并向后打印句子。它将继续要求用户输入另一个字符串,直到该字符串等于退出。我遇到的问题是,当用户输入quit时,当我希望它只打印“谢谢”时,它会继续循环。我不知道为什么用户输入quit时if和else语句不起作用

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
    char chr;
    char *cPtr;
    char someString[50];
    int stringSize;
    int indx;

    printf("Enter a string of characters: ");
    cPtr = someString;

    while ((chr = getchar()) != '\n')
    {
        *cPtr = chr;
        cPtr++;
    }
    *cPtr = '\0';

    stringSize = strlen(someString);

    if (someString == "quit" )
    {
        printf("Thank you.");
    }
    else
    {
        while (someString != "quit")
        {
            for (indx = stringSize; indx >= 0; indx--)
            {
                printf("%c",*cPtr--);
            }

            printf("\nEnter a string of characters: ");
            cPtr = someString;

            while ((chr=getchar())!= '\n')
            {
                *cPtr = chr;
                cPtr++;
            }
            *cPtr = '\0';

            stringSize = strlen(someString);
        }
    }
}
#包括
#包括
#包括
int main()
{
char-chr;
char*cPtr;
字符字符串[50];
整数字符串大小;
int indx;
printf(“输入字符串:”);
cPtr=someString;
而((chr=getchar())!='\n')
{
*cPtr=chr;
cPtr++;
}
*cPtr='\0';
stringSize=strlen(someString);
如果(someString==“退出”)
{
printf(“谢谢你”);
}
其他的
{
while(someString!=“退出”)
{
对于(indx=stringSize;indx>=0;indx--)
{
printf(“%c”,*cPtr--”);
}
printf(“\n输入字符串:”);
cPtr=someString;
而((chr=getchar())!='\n')
{
*cPtr=chr;
cPtr++;
}
*cPtr='\0';
stringSize=strlen(someString);
}
}
}

如果(someString==“quit”)
没有比较两个字符串内容。这是比较他们的地址,它们总是不同的。改用strcmp功能。同样适用于while(someString!=“quit”)

temp=strcmp(someString,safeWord);printf(“%d”,温度);如果(temp==0){printf(“谢谢”);}else{while(temp!=0)我已将其更改为这样,但当我输入quit.safeWord时,仍然会得到一个负值,我已指定为“quit”这是否与以下事实有关:当它生成输出时,在反转的字符串之前有一个空格。