51Testing软件测试论坛

标题: 输出结果 [打印本页]

作者: 小7    时间: 2010-4-19 15:22
标题: 输出结果
Action()
{
    char test[5]={'0','0','0','0','0'};

        char test1='a';
    char *p=&test1;
    int i=0;
    Change(p,5);

        for(i=0;i<5;i++)
      lr_output_message("test[%d]=%c",i,*(test+i));

        for(i=0;i<5;i++)
      lr_output_message("test[%d]=%c",i,test);

    for(i=0;i<5;i++)
      lr_output_message("test[%d]=%c",i,*(p+i));

        for(i=0;i<5;i++)
      lr_output_message("test[%d]=%c",i,p);

        return 0;
}

void Change(char *p,int n){

        int i=0;
    for(i=0;i<n;i++)
        p=65+i;
}


Action.c(11): test[0]=0
Action.c(11): test[1]=0
Action.c(11): test[2]=0
Action.c(11): test[3]=0
Action.c(11): test[4]=0
Action.c(14): test[0]=0
Action.c(14): test[1]=0
Action.c(14): test[2]=0
Action.c(14): test[3]=0
Action.c(14): test[4]=0
Action.c(17): test[0]=A
Action.c(17): test[1]=B
Action.c(17): test[2]=C
Action.c(17): test[3]=?
Action.c(17): test[4]=
Action.c(20): test[0]=A
Action.c(20): test[1]=B
Action.c(20): test[2]=C
Action.c(20): test[3]=?
Action.c(20): test[4]=

“test[3]=?”这个问号,答案本身不是个问号,是个有点像双竖线的特殊符号,打不出来。
有点看不懂这结果怎么得到的

[ 本帖最后由 小7 于 2010-4-19 15:25 编辑 ]
作者: 云层    时间: 2010-4-19 15:46
感觉是ascii码溢出导致你到非法字符了吧
作者: 小7    时间: 2010-5-6 10:45
标题: 回复 1# 的帖子
谢谢




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2