A-A+

当运行以下程序时 从键盘输入abcdabcdef<CR> cde<CR> (<CR>表示回车

2022-08-12 18:52:29 问答库 阅读 197 次

问题详情

当运行以下程序时,从键盘输入abcdabcdef<CR> cde<CR> (<CR>表示回车),则下面程序的运行结果是【 】。 include<stdio.h> main() { int a;char s[80],t[80]; gets(s);gets(t); a=fun(s,t); printf("a=%dn",a);} fun(char*p,char*q) { int i; char*p1=p; char*q1; for(i=0;*p!=;p++,i++) { p=p1+i; if(*p!=*q)continue; for(q1=q+1,p=p+1;*p!=&&*q1!=;q1++,p++) if(*p!=*q1) break; if(*q1==) return i;} return(-1);}


请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:a=6
字符指针p++使指针向后移动一个字符的位置,而*p则是取得指针p所在位置的字符元素。

考点:表示,程序