问题
填空题
以下程序的输出结果是______。
#include <stdio.h>
#include <string.h>
char* fun( char *t)
char *p=t;
return(p+strlen(t)/2);
main()
char *str="abcdefgh";
str=fun(str);
puts(str);
答案
参考答案:efgh
解析: 程序从main函数开始执行,首先执行的函数是str=fun(str);,由程序可知str="abcdefgh",传递到char *t,char*p=t;指向char的指针p包含的是t的首地址str[0],由p+strlen(t)/2;可知t的长度是8除以2等于4,因此p+strlen(t)/2就是str[4]即e字符那个位置,输出结果为efgh。