C语言的指针函数 return 的问题

来源:百度知道 编辑:UC知道 时间:2024/05/31 14:23:53
使用指针代替下标进行编程,求一个字符串中最后一个字符的指针,再利用此函数编程,输入一个字符串,判断最后一个字符与第一个字符是否相同。这道题需要用到返回值return 我不会 请大家帮我做下。

#define TRUE 1
#define FALSE 0
typedef int BOOL;

#include <stdio.h>
#include <string.h>

char* GetLastPoint(char *str);//函数声明
BOOL Compare(char *str);

void main()
{
char str[30];
BOOL result;//用来保存结果
puts("Input string:");
gets(str);

result = Compare(str);
if(TRUE == result)
printf("TRUE\n");
else
printf("FALSE\n");
}

char* GetLastPoint(char *str)
{
char *strTail;
strTail = str;
while('\0' != *strTail)//找最后的位置
{
strTail++;
}
return --strTail;//因为strTail == 最后字符后面的'/0'所以要--
}

BOOL Compare(char *str)
{
char *strTail;
strTail = GetLastPoint(str);//使用函数的返回值
if(*str == *strTail)//比较得到结果
return TRUE;
return FALSE;
}

其实很简单,不过尽量不要在函数内部调用别的函数,破坏程序可移植性

char *ge