#include <stdio.h>
struct st{
char c; char s[80];
};
char * f(struct st *t);
struct st a[4] =
{
{'1',"123"}, {'2',"321"}, {'3',"123"}, {'4',"321"}};
int main( )
{ int k;
for(k = 0; k < 4; k++)
printf("%s\n", f(a+k));
return 0;
}
char * f(struct st *t)
{ int k = 0;
while(t->s[k]!='\0'){
if(t->s[k] == t->c) return t->s+k;
k++;
}
return t->s;
}
输出
123
21
3
321
s[k]表示s数组开头?
t->c表示c?
题目二
#include<stdio.h>
struct ks{
int a