#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。请帮助
答案 0 :(得分:4)
b本身就是一个指针,你必须取消引用才能获得实际值:
printf("%d", *b);
b++;
printf("%d", *b);
b++;
等
答案 1 :(得分:3)
%c
告诉printf
将char
参数解释为字符代码(很可能是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;
}