1.头指针和尾指针的表示
#include<stdio.h>
#include<string.h>
void main()
{
char *s="12345";
char *head=s;//头指针
printf("head=%s\n",head);
printf("head=%c\n",*head);
char *end=s+strlen(s)-1;//尾指针
printf("end=%s\n",end);
printf("end=%c\n",*end);
}
执行结果为:
2.头指针和尾指针的应用
题目:判断一个只包含’{‘,’}‘,’(‘,’)'的字符串是否有效,有效字符串满足顺序正确且闭合正确。
#include<stdio.h>
#include<string.h>
void main()
{
void judging(char *s);
char a[10];
char *s=a;
scanf("%s",a);
/*上面三行如果改为
char *s;
scanf("%s",s);
则出错*/
judging(s);
}
void judging(char *s)
{
char *head=s;
char *end=s+strlen(s)-1;
if(strlen(s)%2==0)
{
for(;head<end;)
{
if((*head=='{' && *end=='}')||(*head=='(' && *end==')'))
{
head++;
end--;
}
else
{
printf("Match error!\n");
break;
}
}
}
else
printf("Input error!\n");
}
当然也可以用其他方式解决。