1
#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。请帮助

4

3 回答 3

4

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

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

等等

于 2012-07-20T14:55:42.987 回答
3

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

于 2012-07-20T14:55:23.790 回答
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;
}
于 2012-07-20T14:57:30.433 回答