重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
#includestdio.h
成都做网站、成都网站建设服务团队是一支充满着热情的团队,执着、敏锐、追求更好,是创新互联的标准与要求,同时竭诚为客户提供服务是我们的理念。创新互联建站把每个网站当做一个产品来开发,精雕细琢,追求一名工匠心中的细致,我们更用心!
int M,N;
void f(int *a,int num){int i;M=a[0];N=0;for(i=1;inum;i++){if(a[i]M){M=a[i];N=i;}}
void main(){int a[]={1,2,3};f(a,sizeof(a)/4);printf("M=%d,N=%d\n",M,N);}
'9'-(ch-0)是指找到ch对应的编码,减去0(实际上是48,自己看ascll码对照表),找到这个数比0大多少(实际上是求出这个数),然后再用'9'减去它(实际上是往前推),得出转换后的结果。
这里代1进去。若ch=1,ch-0=49-48=1,9-1=8,恰好转换完成。
如果不是数字1~9,就不计算,直接返回,因为中间有个if。
楼上的不要乱爆粗。
if (n 1)
return (n*fun(n-1));
return 1;
如果 n1 执行 return (n*fun(n-1)); 否则执行 return 1;
因为 main 函数里调用的是 fun(10); 所以对于 fun 函数,入口参数 n 等于10;10 大于 1,所以执行 return (n*fun(n-1)); 又调用了 fun(9)。。。
就这样一直调用到 fun(1); 此时 n 1 不成立,所以不执行
return (n*fun(n-1));
而是执行下一句 return 1; 这样就返回到上一层 fun(2) 的return语句处,即
return ( 2 * fun( 1 ) ); fun(2) 继续向上返回,直到 fun(10);
*p是char(字符型)指针变量
先将*p的地址*(字符串的第一个字符)赋给s,然后执行while循环,*p所指地址改变为最后一个字符的地址,p-s就是*p最后的地址减去最初的地址,得到的就是字符串的长度了。
逐字解释下你的程序
#include studio.h
#include string.h 这个程序包含了2个头文件 studio 和string
int test strlen(char *s) 这是一个等待调用的子程序 程序名为 strlen 调用的时候,给入与
括号里的相同类型变量
{char *p=s; 定义字符串变量 p 并把其地址的第一个给指针 s
while (*p) 当指针没有指到最后一位时
p++; 字符串向后移动一位
return p-s; 返回值为字符串的最后一位的地址(电脑中的物理地址)减去第一位的
地址
}
关于字符串在电脑中的存放的物理地址,一般是指针指向字符串的第一个物理地址,当调用的时候会依次取用
如字符串”angngongbi”
对应的逻辑地址 物理地址(假设的)
a 0 oE0FHI2
n 1 0G3FTE2
g 2 .......
n 3 .......
g 4 .......
o 5 .......
n 6 .......
g 7 .......
b 8 .......
i 9 .......
C语言库函数,常用库函数有:
1、scanf格式输入函数
2、printf格式输出函数
3、systemdos命令函数
4、sort排序
5、main主函数
6、fgets文件读取字符串函数
7、fputs文件写入字符串函数
8、fscanf文件格式读取函数
9、fprintf文件格式写入函数
10、fopen打开文件函数
11、getchar输入字符函数
12、putchar输出字符函数
13、malloc动态申请内存函数
14、free释放内存函数
15、abs求绝对值数学函数
16、sqrt求平方根数学函数
扩展资料
语言组成:
1、数据类型
C的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。
2、常量与变量
常量其值不可改变,符号常量名通常用大写。
变量是以某标识符为名字,其值可以改变的量。标识符是以字母或下划线开头的一串由字母、数字或下划线构成的序列,请注意第一个字符必须为字母或下划线,否则为不合法的变量名。变量在编译时为其分配相应存储单元。
3、数组
如果一个变量名后面跟着一个有数字的中括号,这个声明就是数组声明。字符串也是一种数组。它们以ASCII的NULL作为数组的结束。要特别注意的是,方括内的索引值是从0算起的。
4、指针
如果一个变量声明时在前面使用 * 号,表明这是个指针型变量。换句话说,该变量存储一个地址,而 *(此处特指单目运算符 * ,下同。C语言中另有 双目运算符 *) 则是取内容操作符,意思是取这个内存地址里存储的内容。指针是 C 语言区别于其他同时代高级语言的主要特征之一。
参考资料来源:百度百科-函数