C语言指针函数,求指针值

来源:百度知道 编辑:UC知道 时间:2024/06/24 10:06:44
使用指针代替下标,求一个字符串的最后一个字符的指针,再利用此函数编程,输入一个字符串,判断最后一个字符和第一个字符是否相同。我下面的程序写完后无论怎么搞都输出 不相同, 请大家帮我看看下面的代码有什么小问题。谢谢/
#include "stdio.h"
char *show(char c[])
{
char *p;
p=c;
for (p=c;*p!='\0';p++);

return p;
}
main ()
{
char c[50],*q;
gets(c);
q=c;
if (*q==show(c))
printf("相同");
else
printf("不相同");
}

你的show函数返回的不是字符串的最后一个字符,而是字符串的结束符“\0”
所以,怎么都不对!

char *show(char c[])
{
char *p;

p=c; ////////这里没有用,for里也有p=c的
for (p=c;*p!='\0';p++);

return p-1;////////这里就对了
}

if (*q==show(c))
*q是内容.show(c)是地址,怎么能相等?