这个应该是将字符串t中的内容复制到s中去,{while(*s) while(*t) *(s++)=*(t++) return s; } 就是sss函数, sss(s,t);就是调用sss这个函数开实现复制的功能。首先定义了字符串指针 char * s, * t; 此时s和t分别存放的是两个字符串的首地址,所以while(*s) while(*t)是判断s和t所指向的内容是否为空,为空则结束复制,*(s++)=*(t++) 就是将t[0]赋给是s[0],判断后再将t[1]赋给s[1]。。。。。一次类推,最后返回字符串s 注意的是s++是先 用s值再++
我们提供的服务有:成都网站设计、做网站、微信公众号开发、网站优化、网站认证、永定ssl等。为1000+企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的永定网站制作公司
sss()函数有三个参数,第一个是个“函数指针”(没学过?),第二三个是两个整型数据。
x=sss( funa, 9,3 ) ; x=9+3=12 ; sss()中的(*t)(x,y) ; 就是funa(x,y)的意思,下同,会调用funb(x,y)
x += sss(funb,8,3); x = x+8-3=12+5=17
结果是17,选A
没有,就是自定义的函数名或宏名吧,当然最好给它一个有意思的名字
sss( s , t )
char *s , *t ;
{
while( (* s) ( * t) (*t ++ == *s ++) ) ;
return( * s - * t ) ;
}
C 语言中该子函数的功能是:返回两个字符串中相等字符的个数。
auto :声明自动变量 short :声明短整型变量或函数 int: 声明整型变量或函数 long :声明长整型变量或函数 float:声明浮点型变量或函数 double :声明双精度变量或函数 char :声明字符型变量或函数 struct:声明结构体变量或函数 union:声明共用数据类型 enum :声明枚举类型 typedef:用以给数据类型取别名 const :声明只读变量 unsigned:声明无符号类型变量或函数 signed:声明有符号类型变量或函数 extern:声明变量是在其他文件正声明 register:声明寄存器变量 static :声明静态变量 volatile:说明变量在程序执行中可被隐含地改变 void :声明函数无返回值或无参数,声明无类型指针 if:条件语句 else :条件语句否定分支(与 if 连用) switch :用于开关语句 case:开关语句分支 for:一种循环语句 do :循环语句的循环体 while :循环语句的循环条件 goto:无条件跳转语句 continue:结束当前循环,开始下一轮循环 break:跳出当前循环 default:开关语句中的“其他”分支 sizeof:计算数据类型长度 return :子程序返回语句(可以带参数,也可不带参数)循环条件函数太多了不能一一列出啊,如果你真想学的话就弄一本书好好学