首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

大人门,小弟我这个代码那错了

2012-03-12 
各位高手大人门,我这个代码那错了?感觉就是下面这句有问题,不知道怎么改啊,题目就是1,2,3个数组用指针先后

各位高手大人门,我这个代码那错了?
感觉就是下面这句有问题,不知道怎么改啊,题目就是1,2,3个数组用指针先后把1,2数组分别附给3
    g=&c[j];
  for(i=0;i <5;i++)
    {
      *g=*f;
      g++;
      f++;
   
    }

---------------------------------------


#include <stdio.h>
#include <string.h>
void   main()
{
char   a[5]={ 'H ', 'e ', 'l ', 'l ', 'o '},b[5]={ 'W ', 'o ', 'r ', 'l ', 'd '},c[10];
char   *e,*f,*g,i;
int   j;
    e=a;
    f=b;
    g=c;
    for(i=0;i <5;i++)
    {
      *g=*e;
      g++;
      e++;
   
    }
    j=strlen(c);

    g=&c[j];
  for(i=0;i <5;i++)
    {
      *g=*f;
      g++;
      f++;
   
    }
  for(i=0;i <10;i++)
  {
    printf( "%c ",c[i]);
 
  }
  printf( "\n ");

}

[解决办法]
c要初始化,否则不知 j=strlen(c);会是多少
[解决办法]
j=strlen(c);
strlen是对字符窜或字符窜数组求长度,并且字符窜或字符窜数组必须一 '\0 '结尾。不然会产生错误。
[解决办法]
1、把C[10]={0};代码就对了
2、程序中定义了太多的重复指针变量,直接在循环中用a[i]代替指针
3、数组的最好留个空余放 '\0 '
[解决办法]
去掉 j=strlen(c);g=&c[j];两句,另外纠正楼主个错误,楼主是想利用strlen(c)得到已考字符的长度,但strlen()是字符串操作的函数,得到的结果不一定是5。。。。我想楼主知道字符串的格式吧?

热点排行