#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を出力しようとしました。助けてください
#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はそれ自体がポインタであるため、実際の値を取得するには、bを逆参照する必要があります。
printf("%d", *b);
b++;
printf("%d", *b);
b++;
等
%c
引数を文字コード(おそらくASCII)としてprintf
解釈するように指示します。代わりにchar
使用してください。%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;
}