繁体   English   中英

指向char数组的char指针

[英]char pointer pointing to a char array

#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。

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

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

等等

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

#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;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM