| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 795 人关注过本帖, 1 人收藏
标题:串的简单操作
取消只看楼主 加入收藏
寻梦飞翔
Rank: 1
等 级:新手上路
帖 子:76
专家分:9
注 册:2010-3-15
结帖率:94.12%
收藏(1)
已结贴  问题点数:10 回复次数:5 
串的简单操作
图片附件: 游客没有浏览图片的权限,请 登录注册
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXSIZE 100
void input(char t[])
{int i=0,j=0;
 printf("请输入字符串中的字符:");
 while((t[++j]=getchar())!=10)
 i++;
 t[0]=i;
}
int strAssign(char t[],char *chars)
{int i;
 if(strlen(chars)>MAXSIZE)
 return 0;
 else
 {
   t[0]=strlen(chars);
   for(i=1;i<=t[0];i++)
   t[i]=*(chars+i-1);
 }
 return 1;
}
int concat(char t[],char s1[],char s2[])//用t返回s1和s2连接而成的新串
{int i;
 if(s1[0]+s2[0]<=MAXSIZE)
 {
   for(i=1;i<=s1[0];i++)
   t[1]=s1[i];
   for(i=1;i<=s2[0];i++)
   t[s1[0]+i]=s2[i];
   t[0]=s1[0]+s2[0];
   return 1;
 }
 else
 {
   for(i=1;i<=s1[0];i++)
   t[i]=s1[i];
   for(i=1;i<=MAXSIZE-s1[0];i++)
   t[s1[0]+i]=s2[i];
   t[0]=MAXSIZE;
   return 0;
 }
}


main()
{char a[MAXSIZE],b[MAXSIZE],t1[MAXSIZE],t2[MAXSIZE];
 int i;
 input(a);
 input(b);
 strAssign(t1,a);
 printf("生成一个其值等于a的串t1:\n");
 printf("输出串t1:\n");
 printf("%s",t1);
 printf("a和b连接生成新串t2:\n");
 concat(t2,a,b);
 printf("输出串t2:\n");
 printf("%s",t2);     
}


搜索更多相关主题的帖子: include return 字符串 
2010-04-13 21:28
寻梦飞翔
Rank: 1
等 级:新手上路
帖 子:76
专家分:9
注 册:2010-3-15
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
2010-04-13 21:29
寻梦飞翔
Rank: 1
等 级:新手上路
帖 子:76
专家分:9
注 册:2010-3-15
收藏
得分:0 
为什么编译后出现乱码?哪位高手帮我解释一下
2010-04-13 21:30
寻梦飞翔
Rank: 1
等 级:新手上路
帖 子:76
专家分:9
注 册:2010-3-15
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
2010-04-14 13:19
寻梦飞翔
Rank: 1
等 级:新手上路
帖 子:76
专家分:9
注 册:2010-3-15
收藏
得分:0 
连接时把t1给丢了……t1那块出现的是乱码
2010-04-14 13:20
寻梦飞翔
Rank: 1
等 级:新手上路
帖 子:76
专家分:9
注 册:2010-3-15
收藏
得分:0 
能解释一下后面为什么一定要加上t[j]='\0'?
2010-04-14 17:07
快速回复:串的简单操作
数据加载中...
 
   



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

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