1.下列函数的功能是() .int f(char *a,char *b){while (*a++ = = *b++) ;if(*(a-2)) return *(--a)-*(--b); else return0; }A)字符串复制 B)字符串连接C)字符串比较 D)都不是2.有以下定义和语句()struct student{ char name[20]; int num; float score; };struct student st,*p;p=&st;则下面的语句正确的是 .A)st->num=1001; B)p.num=2001;C)st.name=”Zhangsan”; D)(*p).score=78;

问题描述:

1.下列函数的功能是() .
int f(char *a,char *b)
{
while (*a++ = = *b++) ;
if(*(a-2)) return *(--a)-*(--b);
else return0;
}
A)字符串复制 B)字符串连接
C)字符串比较 D)都不是
2.有以下定义和语句()
struct student
{ char name[20]; int num; float score; };
struct student st,*p;p=&st;
则下面的语句正确的是 .
A)st->num=1001; B)p.num=2001;
C)st.name=”Zhangsan”; D)(*p).score=78;

第一题是d.函数的功能是函数的功能是比较两个字符串,如果第一个字符串大于第二个字符串返回大于0的数,如果小于返回小于0的数.但是等于的时候返回的并不是0.所以不能判定函数的功能到底是什么.
第二题是d a选项应该为st.num b选项应该为p->num c选项不能给数组整体赋值.只有d正确