#include <stdio.h>
#include "string.h"
int main()
{
int x,y,i;
char st1[100],*p;
gets(st1);
x=strlen(st1);
char st2[x];
for(i=0;i<x;i++)
{
*p=st1[i];
st2[x-i-1]=*p;
}
y=strcmp(st1,st2);
if(y==0) printf("YES");
if(y!=0) printf("NO");
}
哪出问题了
源代码如下:
#include <stdio.h>
int main()
{
int n, reversedInteger = 0, remainder, originalInteger;
printf("输入一个整数: ");
scanf("%d", &n);
originalInteger = n;
// 翻转
while( n!=0 )
{
remainder = n%10;
reversedInteger = reversedInteger*10 + remainder;
n /= 10;
}
// 判断
if (originalInteger == reversedInteger)
printf("%d 是回文数。", originalInteger);
else
printf("%d 不是回文数。", originalInteger);
return 0;
}
扩展资料
1、函数的返回值是通过函数中的return语句获取的。
2、函数值的类型。
3、如果函数值的类型和return语句中表达式的值不一样,则以函数类型为准。
4、如果调用函数中没有return语句,并不带回一个确定的用户需要的值,函数不是不带回值,而只是不带回有用的值,带回一个不确定的值。
规定用指针,可以改一下么
追答#include
#include
#include
void main()
{
int x,i;
char *st1=NULL;
st1 = (char *)malloc(100 * sizeof(char));
if(NULL == st1)
{
printf("malloc failed!\n");
return;
}
memset(st1,0, 100);
gets(st1);
x=strlen(st1);
for(i = 0; i x/2)///没执行break,就是回文
printf("YES");
else
printf("NO");
}
不行啊