我正在编写一个字符串pallindrome的程序,代码正在成功编译,但在运行它接受字符串但之后没有任何内容,输出窗口保持不变,光标闪烁,帮助我这个代码有什么问题。 我正在使用dev-c ++
Net::SSH.start(@host, user, {:password => pass, :non_interactive => true})
答案 0 :(得分:1)
问题在于:
while(ch!='\0')
ch
是一个char数组,您将它与单个char
进行比较。
此外,size
未初始化。
我会建议这样的事情:
size=0;
while(ch[size]!='\0')
{ p++;
size++;
}
或者,使用指针方法:
while(*p!=0)
{
p++;
size++;
}
此外,不要在for loop
内打印(这会使其多次打印),而是使用标志变量。
答案 1 :(得分:0)
您只需要一个循环,例如while (i < i)
看看这个将完成这项工作的例子:
#include <stdio.h>
#include <string.h>
/* in c99 use <stdbool.h> instead*/
typedef int bool;
#define true 1;
#define false 0;
int main(void)
{
char ch[20];
puts("enter the string: ");
gets(ch);
size_t size = strlen(ch);
bool pallindrome = true;
int j = size-1;
int i = 0;
while (i < j)
{
if(ch[i] != ch[j]) {
pallindrome = false;
break;
}
++i;
--j;
}
if (pallindrome)
printf("\"%s\" is pallindrome\n", ch);
else
printf("\"%s\" is not pallindrome\n", ch);
getch();
return 0;
}