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

字符数组倒序有关问题:写入位置冲突,如何解决啊

2012-02-28 
字符数组倒序问题:写入位置冲突,怎么解决啊?大家帮我看看,我这个运行怎么报错:写入位置冲突啊如何把char *

字符数组倒序问题:写入位置冲突,怎么解决啊?
大家帮我看看,我这个运行怎么报错:写入位置冲突啊
如何把char *buff[]={"A","B","C","D","E","F","G"};转换为char *buff[]={"G","F","E","D","C","B","A"};

我的做法是下面的,报写入错误?大家帮我解决下,怎么回事啊,谢谢了
#include "stdafx.h"

void swap(char *buff[],int count){
  char **p,**q;
  int i=0;
p=buff;
q=p+count-1;
  for(i=0;i<count;i++,p++,q--){
  char temp;
  temp = **p;
  **p = **q;
  **q = temp;
  }
}



int main(int argc, char* argv[])
{
char *buff[]={"A","B","C","D","E","F","G"};
  
  swap(buff,7);
return 0;
}

[解决办法]
你的都不是字符数组了,都成字符串组了。。。
char buff[8]={'A','B','C','D','E','F','G'};//这样定义
char buff[8]="ABCDEFG";//或者这样定义
[解决办法]

C/C++ code
void swap(char buff[],int count){    int i=0,j;    j=count-1;    for(i=0;i<count/2;i++,j--){        char temp;        temp = *(buff+i);        *(buff+i) = *(buff+j);        *(buff+j) = temp;    }}
[解决办法]
C/C++ code
    char *buff[7]={0};    for(int i=0;i!=7;i++)    {        buff[i]=new char[10]();        char c='a';        c='a'+i;        memcpy(buff[i],&c,1);    }    swap(buff,7); 

热点排行