小7 发表于 2010-4-19 15:22:22

输出结果

Action()
{
    char test={'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
Action.c(11): test=0
Action.c(11): test=0
Action.c(11): test=0
Action.c(11): test=0
Action.c(14): test=0
Action.c(14): test=0
Action.c(14): test=0
Action.c(14): test=0
Action.c(14): test=0
Action.c(17): test=A
Action.c(17): test=B
Action.c(17): test=C
Action.c(17): test=?
Action.c(17): test=
Action.c(20): test=A
Action.c(20): test=B
Action.c(20): test=C
Action.c(20): test=?
Action.c(20): test=

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

[ 本帖最后由 小7 于 2010-4-19 15:25 编辑 ]

云层 发表于 2010-4-19 15:46:15

感觉是ascii码溢出导致你到非法字符了吧

小7 发表于 2010-5-6 10:45:06

回复 1# 的帖子

谢谢:victory:
页: [1]
查看完整版本: 输出结果