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

请求各位紧急帮忙

2012-03-20 
请求各位大虾紧急帮忙小弟刚接触C不久,烦各位帮忙看看下列代码哪里有问题,怎么返回值(D)不正确.谢谢各位了

请求各位大虾紧急帮忙
小弟刚接触C不久,烦各位帮忙看看下列代码哪里有问题,怎么返回值(D)不正确.
      谢谢各位了.
#include   <iostream>
#include   <string.h>
#include   <stdio.h>
//unsigned   char*   myanwser();
static   const   unsigned   char*   myanwser()
{
int   i,j;
unsigned   char   A[6]= "abcd\n ";
unsigned   char*   B;
//for(int   i=0;i <5;i++)
//{
//     printf( "A:   %c\n ",A[i]);
    //B++;
//}
//unsigned   char*   B;
//B=A;
/*for(j=0;j <5;j++)
{
    printf( "B:   %c\n ",*B);
    B++;
}*/
B=A;
return   B;
}

int   main()
{
int   j;
unsigned   char*   D;
//D=(unsigned   char*)malloc(5);
//memcpy(D,(unsigned   char*)myanwser(),5);
//D=(unsigned   char*)myanwser();
D=(unsigned   char*)myanwser();
for(j=0;j <5;j++)
{
    printf( "C:   %c\n ",*D);
    D++;
}
return   0;

}



[解决办法]
return语句返回指向“栈内存”的指针,该内存在函数结束时自动消亡
[解决办法]
return语句返回指向“栈内存”的指针,该内存在函数结束时自动消亡
-----------------------------

同意,个人觉得可以将unsigned char A[6]= "abcd\n " 作为形参。

热点排行