| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1467 人关注过本帖, 2 人收藏
标题:小题目一个,请解答一下.
只看楼主 加入收藏
当当
Rank: 1
等 级:新手上路
帖 子:235
专家分:0
注 册:2004-4-30
收藏(2)
 问题点数:0 回复次数:9 
小题目一个,请解答一下.

定义三个字符串,将前二个字符串复制到第三个字符串中,用指针方法做.

不能用字符串复制函数.

搜索更多相关主题的帖子: 题目 解答 
2004-06-05 20:20
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 

void stringcpy(char *str,char *string); main() { char *str1="reyrteuyrtutryu#"; char *str2="fgjhgfk5utry#"; char str3[100]="tyrteyryrty*";

stringcpy(str1,str3); stringcpy(str2,str3); printf("%s",str3); } void stringcpy(char *str,char *string) {

while(*string)string++; while(*str)*string=*str,string++,str++;

}


九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2004-06-05 21:07
jzh2004
Rank: 1
等 级:新手上路
帖 子:341
专家分:0
注 册:2004-4-30
收藏
得分:0 

char s[100],s1[50],s2[50];

int i,j;

gets(s1);

gets(s2);

for(i=0;s1[i]!='\0';i++)s[i]=s1[i];

for(j=i,i=0;s2[i]!='\0';i++)s[j++]=s2[i];

s[j]='\0';


我的主页 http://www.
2004-06-05 21:07
当当
Rank: 1
等 级:新手上路
帖 子:235
专家分:0
注 册:2004-4-30
收藏
得分:0 

楼上的我有点不懂,这是我写的,但是有问题,请帮忙看一下:

#include <stdio.h> #include <string.h> void main() { char a[10],b[10],c[20]; //定义三个数组 char *pa,*pb,*pc; //定义三个指针 int i,j; printf("input a:"); scanf("%s",a); printf("input b:"); scanf("%s",b);

pa=a;pb=b;pc=c; for(i=0;i<strlen(a);i++) //i小于数组a的长度,不包括'\0' pa++;pc++; //指针pa每向后移一下,指针pc也向后移一下,从而起到将pa复制到pc的效果,不知道这样理解行不行,我刚学指针,只会用这种笨方法,但是只是感觉到指针指向到那个位置了,那么现在要将字符串a的内容一个一个的复制到字符串c,是不是应该还要加上一句才行啊.请帮忙解答一下.谢谢. for(j=0;j<strlen(b);j++) pb++;pc++; printf("%s\n",c); }

[此贴子已经被作者于2004-06-05 23:08:45编辑过]


学好编程就能编出自己的未来! 加油!自信!努力!奋斗!
2004-06-05 21:19
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 

#include <stdio.h> #include <string.h> void main() { char a[10],b[10],c[20]; /* 定义三个数组 */ char *pa,*pb,*pc; /* 定义三个指针 */ int i,j;/*定位*/ printf("input a:"); scanf("%s",a); printf("input b:"); scanf("%s",b);

pa=a;pb=b;pc=c; for(i=0;i<strlen(a);i++) /* i小于数组a的长度,不包括'\0' */ *pc++=*pa++; /* 指针pa每向后移一下,指针pc也向后移一下,从而起到将pa复制到pc的效果,不知道这样理解行不行,我刚学指针,只会用这种笨方法,但是只是感觉到指针指向到那个位置了,那么现在要将字符串a的内容一个一个的复制到字符串c,是不是应该还要加上一句才行啊.请帮忙解答一下.谢谢. */

for(j=0;j<strlen(b);j++) *pc++=*pb++; *pc='\0'; printf("%s\n",c); }


九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2004-06-05 21:26
fququ
Rank: 1
等 级:新手上路
威 望:1
帖 子:181
专家分:0
注 册:2004-5-30
收藏
得分:0 

怎么感觉这道题是在利用论坛的便利


2004-06-08 01:04
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
楼上的说话有的不负责任,我看楼主还是好学的,最起码自己做过,自己写过,不象有的人一个字母都不肯写,只想别人的源码。象这种人的只求源码自己不写不做的,我是不会给源码的。

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2004-06-08 10:22
jianenghui
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2004-6-6
收藏
得分:0 

我的水平有限,基本上是照你的来的.你改变指针后应该把对应的值赋进去.

#include <stdio.h> void main() { char a[10],b[10],c[20]={'a','b'}; char *pa,*pb,*pc; int i,j; pa=a;pb=b;pc=c; printf("input a:"); gets(pa); printf("input b:"); gets(pb); while(*pc!='\0') {pc++;} while(*pa!='\0') {*pc=*pa;pa++;pc++;} /* */ while(*pb!='\0') {*pc=*pb;pb++;pc++;} /* */ printf("input c:%s\n",c); }

2004-06-08 18:08
空前
Rank: 1
等 级:新手上路
帖 子:1146
专家分:0
注 册:2004-5-11
收藏
得分:0 

#include<stdio.h>

main()

{char a[80],b[80],c[80],*p;

int i=0;

scanf("%s",a);scanf("%s",b);

p=c;

while(a[i]!='\0') {*p++=a[i];i++;}

i=0;

while(b[i]!='\0') {*p++=b[i];i++;}

*p='\0';

printf("%s\n",c);

}

[此贴子已经被作者于2004-06-08 18:40:33编辑过]


2004-06-08 18:38
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 

楼上的,这样是不是好看一点

#include<stdio.h>

main()

{char a[80],b[80],c[80],*p;

int i=0;

scanf("%s",a);scanf("%s",b);

p=c;

while(*p++=a[i++]);

i=0; p--; while(*p++=b[i++]);

*p='\0';

printf("%s\n",c);

}


九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2004-06-08 20:23
快速回复:小题目一个,请解答一下.
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022239 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved