C 语言中如何将子函数里的字符串返回主函数?
首先要明白一点儿,C语言中字符串也是按一个一个字符存在""字符数组""中的哦! 用个数组作为队列来存放
成都创新互联公司是专业的金门网站建设公司,金门接单;提供网站制作、成都网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行金门网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
例如:int a[100] 将这个数组用在你要接收字符的函数里,将接收的字符按i递增存放在a[]里
接收时用个for(i=0;i++;i=100)
{
a[i]=接收字符
}
这样a[0]里装的是第一个接收字符,a[1]是第二个,依次类推,字符串就被接收到a[]里了
输出时同理再用个for循环就可以了,例如
for(i=0;i++;i=100)
{
printf a[i]
}
当然要返回的字符串若是要用在其它的函数里也可以再定义个变量例如temp
可以temp=a[i]反正整个字符串都被保存在了数组a[]里,想怎么用可以了!
以上只是算法,具体代码还得根据自己需要多动手训练哦!
数据结构用C语言写的串怎么写主函数
/*
串a:
abcdefghijklmnopqrstuvwxyz
串b:
01234567890123456789
串a:
abcdefghijklmnopqrstuv012345678901234567
串c:
abcdefghijklmnopqrstuvwxyz
Press any key to continue
*/
#include stdio.h
#define MAXLEN 40
typedef struct {
char ch[MAXLEN];
int len;
}SString;
void StrInsert(SString *s,int pos,SString t) {
int i;
if(pos 0 ) pos = 0;
if(pos s-len - 1) pos = s-len;
if(s-len + t.len = MAXLEN) { // 长度适中
for(i = s-len + t.len - 1;i pos;i--)
s-ch[i] = s-ch[i - t.len];
for(i = 0;i t.len;i++) s-ch[i + pos] = t.ch[i];
s-len += t.len;
}
else if(pos + t.len MAXLEN) { // 长度超限1,从pos后不再有s的内容
for(i = pos;i MAXLEN; ++i)
s-ch[i] = t.ch[i - pos];
s-len = MAXLEN;
}
else { // 长度超限2,从pos + t.len后还有s的部分内容
for(i = MAXLEN - 1; i = pos + t.len; --i)
s-ch[i] = s-ch[i - t.len];
for(i = 0; i t.len; ++i)
s-ch[i + pos] = t.ch[i];
s-len = MAXLEN;
}
}
// 在s中从pos位置开始删除len个字符
int StrDelete(SString *s,int pos,int len) {
int i;
if(pos 0 || pos s-len) return 0;
if(pos + len s-len) { // 删除s的中间部分
for(i = pos;i pos + len;i++)
s-ch[i] = s-ch[i + len];
s-len -= len;
}
else { // len太大
s-len = pos;
}
return 1;
}
SString StrCopy(SString *s,SString t) {
int i;
for(i = 0;i t.len;i++) s-ch[i] = t.ch[i];
s-len = t.len;
return *s;
}
int StrEmpty(SString s) {
if(s.len == 0) return 1;
return 0;
}
int SteCompare(SString s,SString t) {
int i;
for(i = 0;i s.len i t.len;i++)
if(s.ch[i] != t.ch[i]) return (s.ch[i] - t.ch[i]);
return (s.len - t.len);
}
int SteLength(SString s) {
return s.len;
}
void StrClear(SString s) {
s.len = 0;
}
void StrShow(const SString s) {
int i;
for(i = 0; i s.len; ++i)
printf("%c",s.ch[i]);
printf("\n");
}
int main() {
SString stra = {"abcdefghijklmnopqrstuvwxyz",26};
SString strb = {"01234567890123456789",20},strc;
StrCopy(strc,stra);
printf("串a:\n");
StrShow(stra);
printf("串b:\n");
StrShow(strb);
StrInsert(stra,22,strb); //
printf("串a:\n");
StrShow(stra);
printf("串c:\n");
StrShow(strc);
return 0;
}
C语言里面的主函数是什么意思?
主函数就是程序运行时,所在的函数。
一般习惯使用 main 作为主函数名。
C语言里的主函数是什么
main(),在c语言中称之为“主函数”,一个c程序有且仅有一个main函数,任何一个c程序总是从main函数开始执行,main函数后面的一对圆括号不能省略。
具体形式如下:
main()
{ }
被大括号{ }括起来的内容称为main函数的函数体,这部分内容就是计算机要执行的内容。
在{ }里面每一句话后面都有一个分号(;),在c语言中,我们把以一个分号结尾的一句话叫做一个c语言的语句,分号是语句结束的标志。
扩展资料:
函数是一组一起执行一个任务的语句。每个 C 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数。
您可以把代码划分到不同的函数中。如何划分代码到不同的函数中是由您来决定的,但在逻辑上,划分通常是根据每个函数执行一个特定的任务来进行的。
函数声明告诉编译器函数的名称、返回类型和参数。函数定义提供了函数的实际主体。
C 标准库提供了大量的程序可以调用的内置函数。例如,函数 strcat() 用来连接两个字符串,函数 memcpy() 用来复制内存到另一个位置。
函数还有很多叫法,比如方法、子例程或程序,等等。
参考资料来源:百度百科-C语言函数
C语言中如何编写一个字符串复制函数,并在主函数中调用它。
#includestdio.h
char *custom_cpy(char *to,char *from);
int main(int argc,char *argv[]){
char *from = "i like c langanger";
char to[30];
char *ptr = custom_cpy(to,from);
printf("%s,%s\n",ptr,to);
return 0;
}
char *custom_cpy(char *to,char *from){
if(to == NULL || from == NULL){
return NULL;
}
char *p = to;
for(;*from!='\0';from++,to++){
*to = *from;
}
*to = '\0';//拷贝完毕之后一定要加一个结束符号
return p;
}
扩展资料:
字符串相关函数应用:
1. 连接运算 concat(s1,s2,s3…sn) 相当于s1+s2+s3+…+sn。
例:concat(‘11’,'aa’)='11aa’;
2. 求子串。 Copy(s,I,I) 从字符串s中截取第I个字符开始后的长度为l的子串。
例:copy(‘abdag’,2,3)=’bda’;
3. 删除子串。过程 Delete(s,I,l) 从字符串s中删除第I个字符开始后的长度为l的子串。
例:s:=’abcde’;delete(s,2,3);结果s:=’ae’;
4. 插入子串。 过程Insert(s1,s2,I) 把s1插入到s2的第I个位置
例:s:=abc;insert(‘12’,s,2);结果s:=’a12bc’;
5. 求字符串长度 length(s) 例:length(‘12abc’)=5;
参考资料:
百度百科-字符串
C语言程序主函数可以有多个么?
C语言程序主函数只能有1个。C程序中main()称之为主函数,是所有程序运行的入口。程序执行总是从main函数开始,如果有有其他函数,则完成对其他函数的调用后再返回到主函数,最后由main函数结束整个程序。在执行程序时,由系统调用main函数。
扩展资料:
主函数的两个形参形式中的形参,允许从执行环境中传递任意的多字节字符串,各个指针 argv[1] .. argv[argc-1] 指向每个这些字符串的第一个字符。argv[0] 是指向一个表示用于执行该程序自身的名字的空结尾多字节字符串(或者当执行环境不支持时,为空字符串 "")的开头字符的指针。
这些字符串是可以改动的,虽然对它们的改动并不会被传回给执行环境:比如可以用 std::strtok 来使用它们。由 argv 所指向的数组的大小至少为 argc+1,其最后一个元素 argv[argc] 保证为一个空指针。
分享标题:c语言中串的主函数,c语言主函数和其它函数
文章出自:http://scyingshan.cn/article/hcjheo.html