c语言中指针字符串函数 c语言的函数指针

C语言,指针字符串函数

一些错误在注释中说明,将输出1711717

成都创新互联专注于中大型企业的做网站、成都做网站和网站改版、网站营销服务,追求商业策划与数据分析、创意艺术与技术开发的融合,累计客户近1000家,服务满意度达97%。帮助广大客户顺利对接上互联网浪潮,准确优选出符合自己需要的互联网运用,我们将一直专注成都品牌网站建设和互联网程序开发,在前进的路上,与客户一起成长!

#include stdio.h

#include string.h

fun(char *w,int n)

{char t,*s1,*s2;

s1=w;//首地址,就是1

s2=w+n-1;//尾地址,就是7

while(s1s2)//当s1小于s2时,循环下去

{t=*s1++;

*s1=*s2--;

*s2=t;

}

/*

第一轮交换,是1734517,s1指向w[1],s2指向w[5]

第二轮交换,是1714717,s1指向w[2],s2指向w[4]

第三轮交换,是1711717,s1指向w[3],s2指向w[3]

*/

}

main()

{char p[]="1234567";

fun(p,strlen(p));//将指向1和指向7的地址传送给fun函数

puts(p);

}

C语言程序 用指针实现字符串比较函数strcmp

其实你这里主要问题是不能接收到两个输入的

字符串

你这里的接受

规则

是输入两个字符串并用

号分隔,比如:abc,abc

但是这里就有一个问题了!计算机怎么知道你输入的,号是你输入的第一个字符串的一个字符呢?还是你两个字符串的分隔?

所以当你输入abc,abc的时候计算识别你的第一个字符串是abc,abc

第二个字符串为\n

所以你这里得到的始终是1

至于解决的办法:

让计算机识别你的分隔

符号

那方法就很多了,比如

scanf("%s%s",a,b);输入的时候用空白符(

空格

,tab,回车键)相间隔

C语言 函数 指针 字符串

你这个是字符串倒序的函数,start指向的是string的地址,所以当string里面的值改变的时候,strat的值也会改变,再然后不是start前面加了最后一个字的字符,而是最后一个字符跟第一个字符互换了位置,第二个跟倒数第二个互换位置,以此类推。

C语言关于用字符串指针编写函数,具体要求如下图,看清楚要求

strcmp是比较两个字符串大小的。

最简单和最容易想到的方法如下:

遍历字符串s,将s的每一个字符和字符串r的每一个字符进行比较,相等则替换,同时替换次数加1,然后开始下次比较。看代码吧!

#include stdio.h

int strrepl(char *s, char *r, char c) {

int rep_times = 0;

char *r_temp;

//

// 遍历被替换的字符串s

//

while ( *s != '\0' ) {

//

// 遍历要替换的字符串r

//

r_temp = r;

while ( *r_temp != '\0' ) {

//

// 判断是否找到要替换的字符

//

if ( *s == *r_temp ) {

*s = c;

rep_times++;

break;

}

r_temp++;

}

s++;

}

return rep_times;

}

int main(void) {

char s[] = "code(1.2)";

char r[] = "().";

char c = '_';

int rep_times;

printf("原始字符串: %s\n替换的字符: %s\n用\'%c\'替换\n", s, r, c);

rep_times = strrepl(s, r, c);

printf("替换之后的字符串: %s\n替换次数: %d\n", s, rep_times);

return 0;

}

运行结果图

c语言指针型函数

#includestring.h  // 导入头文件string.h

#includestdio.h   // 导入头文件stdio.h

char *fun(char *t)  // 定义函数, 名称fun, 输入参数为char *, 返回值为char *

{

char *p = t;    // 把t的值赋值给p, 相当于p指向与t相同的字符串

return p + strlen(t) / 2;   // strlen返回值为字符串长度, 然后p位移其一半(向下取整)的距离并返回值

}

int main(int argc, char *argv[])

{

char *str = "abcdefgh"; // str指向字符串“abcdefgh”

str = fun(str);         // str调用fun函数, 参数为str, 并将返回值赋值给str

puts(str);              // 此时str指向e, 输出为“efgh\n”

return 0;

}


网站栏目:c语言中指针字符串函数 c语言的函数指针
浏览地址:http://csdahua.cn/article/hhhsso.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流