当运行以下程序时,从键盘输入abcdabcdef<CR> cde<CR> (<CR>表示回车),则下面程序的运行结果是【 】。 #include<stdio.h>

admin2009-02-15  34

问题 当运行以下程序时,从键盘输入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=%d\n",a);}
     fun(char*p,char*q)
   { int i;
     char*p1=p;
     char*q1;
     for(i=0;*p!=’\0’;p++,i++)
     { p=p1+i;
       if(*p!=*q)continue;
       for(q1=q+1,p=p+1;*p!=’\0’&&*q1!=’\0’;q1++,p++)
       if(*p!=*q1)  break;
       if(*q1==’\0’)  return  i;}
     return(-1);}

选项

答案a=6

解析 字符指针p++使指针向后移动一个字符的位置,而*p则是取得指针p所在位置的字符元素。
转载请注明原文地址:https://jikaoti.com/ti/hlK0FFFM
0

最新回复(0)