C 为什么循环不能在我的代码中终止?
这是一个反向字符串代码,但循环无法终止并继续获取输入 我怎样才能终止它C 为什么循环不能在我的代码中终止?,c,C,这是一个反向字符串代码,但循环无法终止并继续获取输入 我怎样才能终止它 现在,下面有几点答案代码 基本上,您是用输入手工打印,而问题是多行输入的状态。因此,首先必须获取所有输入,然后显示输出 您的原始代码并没有像您所说的那样持续接受输入。问题说最后一个字符串是空字符串。在空字符串中按enter键,上述代码将终止 记住最后一个输入字符串应该为空,这是终止条件 样本输出 pooL maet olleH emocleW 添加str[0]='\0';在它完成之前。这是因为在单击enter之后,要终止循
现在,下面有几点答案代码 基本上,您是用输入手工打印,而问题是多行输入的状态。因此,首先必须获取所有输入,然后显示输出 您的原始代码并没有像您所说的那样持续接受输入。问题说最后一个字符串是空字符串。在空字符串中按enter键,上述代码将终止 记住最后一个输入字符串应该为空,这是终止条件 样本输出
pooL maet olleH
emocleW
添加str[0]='\0';在它完成之前。这是因为在单击enter之后,要终止循环并退出循环。您应该检查gets的返回值。如果失败,str将不受影响,所以不是null。请详细说明一下。您已经尝试过了,但得到了相同的错误。在代码末尾添加}后,如果输入空行,则无法正确使用get。请发表一篇文章。这能解决你的问题吗?
#include <stdio.h>
#include <string.h>
#define len 100
int main() {
char str[len];
int i,lenh;
do{
str[0]='\0';
gets(str);
lenh=strlen(str);
for(i=lenh-1;i>=0;i--)
{
printf("%c",str[i]);
}
printf("\n");
}while(str[0]!='\0');
return 0;
}
Hello team Loop
Welcome
pooL maet olleH
emocleW
#include <stdio.h>
#include <string.h>
#define len 100
int main() {
char str[len];
int i,lenh;
do{
str[0]='\0';
gets(str);
lenh=strlen(str);
for(i=lenh-1;i>=0;i--)
{
printf("%c",str[i]);
}
printf("\n");
}while(str[0]!='\0');
return 0;
}