爱问知识人 爱问教育 医院库

如何用字符数组跟字符指针实现函数strcat(s,

首页

如何用字符数组跟字符指针实现函数strcat(s,

如何用字符数组跟字符指针实现函数strcat(s,t),返回字符串的首地址我刚学的c语言,对于指针跟数组都不是很熟悉 ——
希望高手指点!~

提交回答
好评回答
  • 2011-06-13 15:21:56
    #include 
    using namespace std;
    char* solve(char *s, char *t)
    {
    	char* c = (char*)malloc(sizeof(s)+sizeof(t)+1);
    	int i=0,j=0;
    	for (i=0; s[i]!='\0'; i++) c[i] = s[i];
    	for (j=0; t[j]!='\0'; i++,j++) c[i] = t[j];
    	c[i] = '\0';
    	return c;
    }
    int main()
    {
    	char s[] = "123";
    	char t[] = "45678";
    	char* x = solve(s,t);
    	cout<
    		                
    		            

    风***

    2011-06-13 15:21:56

其他答案

    2011-06-25 15:07:34
  •   指针和数组是完全不一样的两个东西。数组是给一个连续空间取了一个名字而已,它在进行值传递的时候传的是首元素地址,所以很多人把它和指针混起来;指针则表示其指向了某个特定类型的空间。
    例子1。
    int a[2];printf("%d\t%d",sizeof(a)/sizeof(int),sizeof(a+1)/sizeof(int));
    第一个sizeof(a)计算出了数组a的空间长度为2;第二个sizeof(a+1)则是计算数组a的首地址+1所在元素空间的长度为1。
       例子2。 用指针开辟二维数组需要: int **a; a=new int *[2]; //a指向指针数组 a[0]=new int [2];a[1]=new int[2];//为他们开辟空间 易错的地方: void f(int **t); 然后其他函数中 { int a[2][2]; f(a); }//错在a是数组,t是指向指针的指针,根本不是一个东西。
      相信你懂得。

    2***

    2011-06-25 15:07:34

  • 2011-06-18 12:58:06
  •       字符数组和字符指针是有区别的,例如
        char *str1, str2[10];
        printf("sizeof str1:%d, sizeof str2 %d\n", 
               sizeof(str1), sizeof(str2));
        打印的结果是
            sizeof str1:4, sizeof str2:10
        str1 = str2;这个赋值语句是没有问题的,因为str1是变量
        而str2 = str1;就会有问题,因为字符数组的数组名是一个常量(地址常量),不能赋值
        至于实现strcat,下面给你一个经典的实现方法
    char *strcat(char *dest, const char *src)
    {
        if (dest == NULL || src == NULL)
            return NULL;   //这里出错不处理了
        char *ptr = dest + strlen(dest);
        while (*ptr++ = *src++)
            ;       //空语句
        return dest;
    }。
      

    1***

    2011-06-18 12:58:06

  • 2011-06-13 08:26:50
  • 在本质上讲,字符数组跟字符指针都是指针,可以统一处理

    好***

    2011-06-13 08:26:50

类似问题

换一换
  • C/C++ 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新资料 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 176-195
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):