急!!!!字符串连接的问题?(c语言实现)

hiker375 2007-06-25 08:41:12
一个全局变量char *ch="";初始值为“”;
一个char x; 有一个循环给X复制,
请问如何将X的值添加到*ch的尾部?

...全文
386 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hiker375 2007-06-25
  • 打赏
  • 举报
回复
在直接一点讲吧,我想编写一个表达式计算的程序,要求可以计算三角函数,如表达式sin(30)+7,那么我必须要有一个变量去接收表达式中的一个字母,并把它拼成一个字符串,然后通过这个变量来判断到底调用哪个函数去计算
freeman868 2007-06-25
  • 打赏
  • 举报
回复
#include<stdio.h>
#include<math.h>

#include <string.h>

char *ch= NULL;

int main()
{
ch = new char[27];
char x;
char *p = ch;

for (char c = 'a'; c <= 'z'; c++)
{
x = c;
*p = x;
p++;
}

*p = '\0';

printf("ch = %s\n", ch);

char *str = "abcdefghijklmnopqrstuvwxyz";

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

if (strcmp(ch, str) == 0)
{
printf("两字符串相等!\n");
}
else
{
printf("两字符串不相等!\n");
}

delete []ch;
p = NULL;

return 0;
}
hiker375 2007-06-25
  • 打赏
  • 举报
回复
这里的ch[]是全局变量,最后的结果还是想放到ch[]中,后面我要用这里面的值和一个string 常量去做比较?谢谢!
believefym 2007-06-25
  • 打赏
  • 举报
回复
strcat,一定要预留足够的空间,否则只能重新申请过
hiker375 2007-06-25
  • 打赏
  • 举报
回复
楼上的,这里的ch[]长度是动态增长的,如过太多的话,我怎么拿最后的值去和一个string 常量(如: sin)作比较?(本人是c初学者)
believefym 2007-06-25
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <string.h>
int main(void)
{
char *c = "abcd";
int len = strlen(c);
char *c2 = (char*)malloc(len+80);
strcpy(c2,c);
printf("%s\n",c2);
int i=0;
for(; i<10; ++i)
c2[len+i]='0'+i;
c2[len+i]=0;
c=c2;
printf("%s\n",c);
return 0;
}
lightnut 2007-06-25
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <string.h>

#define MAX_CHARS 260

char ch[MAX_CHARS]="";
//注意不能使用char *ch= "";,
//否则ch指向常量字符串, 就不能修改ch的内容了。

int main()
{

char x;
int i;
for (i=0; i<127; ++i) {
x = i;
strncat(ch, &x, 1);
}
ch[i] = '\0';

printf("%s", ch);

}
freeman868 2007-06-25
  • 打赏
  • 举报
回复
用strcat

70,023

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧