c语言 函数调用返回值问题

[复制链接]
查看11 | 回复1 | 2011-6-27 02:11:15 | 显示全部楼层 |阅读模式
char*verify(char*ciphertext,intpos){
        intlen=strlen(ciphertext);
        chartemp[len];
       
        if(ciphertext[pos]==42){
                intisMake=0;
                for(inti=0;ilen;i){
                        if(isMake==0){
                                if(i!=pos){
                                        temp=ciphertext;
                                }
                                elseif(i==pos){
                                        isMake=1;
                                }
                        }else{
                                temp[i-1]=ciphertext;
                        }
                }
                temp[len-1]=\'\\0\';
               
                char*miwen=temp;
               
                printf(\"%s\",miwen);
               
                returnmiwen;
        }
        else{
                returnNULL;
        }
}

调用时,char*pbase64=\"AVE*A1B9tItnSGepUruDEug4k0YpTcaOwaXppUqWl9gNWQO2MbbhMfucC8zygsRx5mfL9aDMviVnlOejOEG62xaXhz4w6A2mK8sjBhDAOxLjcikX8iTI/g==\";

char*pbase64_v=verify(pbase64,pos);
       
        printf(\"%s\",pbase64_v);

控制台输出的结果:
AVEA1B9tItnSGepUruDEug4k0YpTcaOwaXppUqWl9gNWQO2MbbhMfucC8zygsRx5mfL9aDMviVnlOejOEG62xaXhz4w6A2mK8sjBhDAOxLjcikX8iTI/g==

AVEA1B9tItnS\\262\\274@V\\240


请问为什么会这样?
回复

使用道具 举报

千问 | 2011-6-27 02:11:15 | 显示全部楼层
返回了局部变量,内存木有被覆盖的部分显示正确而已。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行