gpt4 book ai didi

C编程使用指针打印字符串反向词

转载 作者:太空狗 更新时间:2023-10-29 16:06:25 25 4
gpt4 key购买 nike

我的程序将从用户那里获取一串字符并向后打印句子它会继续向用户询问另一个字符串直到该字符串等于退出。我遇到的问题是,当用户输入退出时,当我希望它只打印“谢谢”时,它会继续循环。我不知道为什么 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);
}
}
}

最佳答案

if (someString == "quit") 没有比较两个字符串的内容。它正在比较它们的地址,这些地址总是不同的。请改用 strcmp 函数。 while (someString != "quit")

相同

关于C编程使用指针打印字符串反向词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31632015/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com