#include <stdio.h> #include <string.h> char *hh(char *s) { return s+strlen(s)/2; } void main() { char *p,*str="GZUCprogram#"; p=hh(str); printf("%s\n",p); }
gram#
ogram#
o
ogram#
ogmra#
r
GZUCpro
program
strlen(s)=12/2=6,*(s+6)即a【6】,即第七个元素,用%s输出就是将第7个元素及其之后的元素一并输出,即ogram#
strlen()函数是一个标准库函数,其作用为计算字符串的长度,但是不包括“\0”在内。
strlen(s)/2为12/2=6;s+6:说明是指针在移动
所以最后的输出是p[6],将此后的全部输出
orgram#
char:默认结尾是'\0',所以长度是你看到的加一
string:长度就是你看的
四则运算符只有数字才可以执行,strlen(s)/2为6,s+6:说明是指针在移动
16
strlen(s)=12/2=6,注意定义的hh函数为指针函数,函数返回的值是地址值。所以返回了:str[6]的地址值赋给了指针变量p,即指针变量p指向str[6]。用%s输出p就是将str[6]及其之后的元素一并输出,即输出ogram#
orgam#
用户登录可进行刷题及查看答案
登录后提交答案