指向char数组的char指针

时间:2012-07-20 14:52:50

标签: c

#include<stdio.h>
int main(){
 char a[3];
 char *b=NULL;
 a[0]=0;
 a[1]=1;
 a[2]=2;
 b = a;
 printf("%c",b);
 b++;
 printf("%c",b);
 b++;
 printf("%c",b);
 return 0;
}

我尝试通过将指针递增1来打印值0,1,2。请帮助

3 个答案:

答案 0 :(得分:4)

b本身就是一个指针,你必须取消引用才能获得实际值:

printf("%d", *b);
b++;
printf("%d", *b);
b++;

答案 1 :(得分:3)

%c告诉printfchar参数解释为字符代码(很可能是ASCII)。请改用%d

答案 2 :(得分:2)

#include<stdio.h>
int main(){
 char a[3];
 char *b=NULL;
 a[0]='0';
 a[1]='1';
 a[2]='2';
 b = a;
 printf("%c",*b);
 b++;
 printf("%c",*b);
 b++;
 printf("%c",*b);
 return 0;
}