Play Open
Loading Please wait Loading Please wait Loading Please wait Loading Please wait Loading Please wait Loading Please wait

请问用C语言可以实现字符串的加法?谢谢

社区

C语言 帖子详情 请问用C语言可以实现字符串的加法?谢谢 tflovecls 2006-11-20 10:16:16 最近遇到个问题,就是我想用C语言来实现字符串的加法,有没有这样的函数啊? JAVA中有"+"的重载,不知道C语言呢?是不是还要自己编个函数啊??

谢谢!!!

...全文

1002 13 打赏 收藏 请问用C语言可以实现字符串的加法?谢谢 最近遇到个问题,就是我想用C语言来实现字符串的加法,有没有这样的函数啊? JAVA中有"+"的重载,不知道C语言呢?是不是还要自己编个函数啊?? 谢谢!!! 复制链接

扫一扫 分享 转发到动态 举报 AI 作业

写回复 配置赞助广告取 消

确 定

用AI写文章 13 条回复 切换为时间正序 请发表友善的回复… 发表回复 打赏红包 需支付: 0.00 元 取 消 确 定 tflovecls 2006-11-21 打赏举报 回复 谢谢各位大哥,高手的指点!!! 挺拔的劲松 2006-11-21 打赏举报 回复 看来是想做大数的加法运算吧.

把每一位的字符转为整数相加,将得到的结果存数另一个数组,如果相加结果为两位时就要进位,相加时有进位还要加上进位,大数的加法运算记得以前讨论过.你可以从网上找一下.

挺拔的劲松 2006-11-21 打赏举报 回复 看来是想做大数的加法运算吧.

把每一位的字符转为整数相加,将得到的结果存数另一个数组,如果相加为两们时就要进位,相加时有进位还要加上进位,大数的加法运算记得以前讨论过.你可以从网上找一下. jixingzhong 2006-11-21 打赏举报 回复 #include

#include

/*三个参数, 第一、二个是两个加操作数,用于输入; 第三个是 结果,用于输出*/

char * add(char *op1, char *op2, char *result)

{

int tmp = atoi(op1)+atoi(op2);

result = itoa(tmp,result,10);

return result;

}

int main()

{

char a[]="123", b[]="234", c[10];

add(a, b, c);

printf("%s + %s = %s\n", a, b, c);

system("PAUSE");

return 0;

} jixingzhong 2006-11-21 打赏举报 回复 先把字符串 转换过来为整数,

然后进行 加

然后 再转换回去为字符串 ~ 飞哥 2006-11-21 打赏举报 回复 int tmp = atoi(a)+atoi(b);

printf("%s\n",itoa(tmp,c,10));

char *itoa(int value, char *string, int radix)/////////////include stdlib.h 飞哥 2006-11-21 打赏举报 回复 char a[]="123",b[]="234";

char c[]="357"

weiym 2006-11-21 打赏举报 回复 一定要是C吗,C语言实现不了重载操作符的

C++的话用std::string,自己实现各字符串类也可以,重载加号就可以了 飞哥 2006-11-21 打赏举报 回复 按照你的char类型

似乎就有问题了

char是一个字节

表示不了123

tflovecls 2006-11-21 打赏举报 回复 各位高手可能没明白我的意思!我指的不是字符串连接!举个例子:

char a="123",b="234";

char c="357";我是想让c=123+234=357,然后再转化为字符串! todototry 2006-11-20 打赏举报 回复 #include

#include

#include

#define err_OK 0

#define err_NOENOUGHPLACE 1

int addstr(const char * pstr1, const char * pstr2, char * pdst, unsigned int sizeofreturn)

{

if (sizeofreturn <= (strlen(pstr1) + strlen(pstr2)))

{

printf("no enough space to place the string!\n");

return err_NOENOUGHPLACE;

}

else

{

ZeroMemory(pdst, sizeofreturn);

strcpy(pdst, pstr1);

strcat(pdst, pstr2);

return err_OK;

}

}

int main()

{

char str1[3] = "ok";

char str2[5] = "okok";

char str[10];

if(addstr(str1, str2, str, 10) == err_OK)

{

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

}

else

{

return 1;

}

char strerr[3];

if (addstr(str1, str2, strerr, 3) == err_OK)

{

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

}

else

{

return 1;

}

return 0;

}

个人意见,高手多多指教 lj860603 2006-11-20 打赏举报 回复 用strcat可以了;如果你想自己写个也可以这样写个函数:

void MyStrcat(char sour[], const char des[])

{

while (*sour++)

;

for (--sour; *sour++ = *des++; )

;

} 晨星 2006-11-20 打赏举报 回复 strcat。

sprintf也能实现相应效果。 C代码实现超长整数字符串 相加,及相应执行程序 C代码实现超长整数字符串 相加,及相应执行程序 在C语言函数中调用汇编语言程序实现字符串的拷贝 在C语言函数中调用汇编语言程序实现字符串的拷贝:

其中:源串:const char *srcstr=“abcdefghij”

目标串:char *dststr C语言中压缩字符串的简单算法小结 主要介绍了C语言中可用于实现字符串压缩的简单算法小结,列举了包括哈夫曼算法等三个核心的程序实现算法,需要的朋友可以参考下 【C语言编程】PTA反转加法构造回文数算法实现:千位数级别高效字符串处理与回文检测 内容概要:本文介绍了通过C语言实现反转加法构造回文数的方法,能够处理1000位的大整数。文中详细展示了如何定义字符数组存储大整数,通过自定义函数而非调用现成函数来提高效率,实现对输入数字的反转、判别是否为回文以及最优字符大整数加法等操作。核心代码包括字符串指针反序判回文、字符串指针反转赋值、高效字符串指针反转赋值判回文等函数,利用goto语句实现循环,确保当数字不是回文时,将原数与其反转后的数相加,得到的新数继续判断,直到构造出回文数或达到设定的最大迭代次数(如10次)。

适合人群:有一定C语言编程基础的学习者,尤其是对大整数运算、字符串操作感兴趣的读者。

使用场景及目标:①理解C语言中字符数组表示大整数、字符串指针操作等底层机制;②掌握通过反转加法构造回文数的算法思想,熟悉goto语句控制流程的应用。

其他说明:此代码示例强调了自定义函数在处理特定任务时的高效性,读者可以在此基础上进一步优化算法,探索更多关于大整数运算的知识。 利用C语言库函数实现常见的字符串操作.pdf 利用C语言库函数实现常见的字符串操作.pdf

C语言

70,025

社区成员

243,260

社区内容

发帖 与我相关 我的任务 C语言 C语言相关问题讨论 复制链接

扫一扫 分享 确定 社区描述 C语言相关问题讨论 社区管理员

加入社区

获取链接或二维码

近7日

近30日

至今

加载中

查看更多榜单

社区公告

暂无公告 试试用AI创作助手写篇文章吧

+ 用AI写文章

Copyright © 2088 足球小将世界杯_1999年美国女足世界杯 - omaili.com All Rights Reserved.
友情链接