#include <stdio.h>
int main(){
char a[20] = "atokara";
printf("a=%s\n",a);
return 0;
}
は、できるが、int main(){
char a[20] = "atokara";
printf("a=%s\n",a);
return 0;
}
#include <stdio.h>
int main(){
char a[20];
a = "atokara";
printf("a=%s\n",a);
return 0;
}
は、できない。int main(){
char a[20];
a = "atokara";
printf("a=%s\n",a);
return 0;
}
そこで、strcpyを使って以下のようにする
#include <stdio.h>
#include <string.h> //strcpyを使用するのに必要
int main(){
char a[20];
strcpy(a, "atokara");
printf("a=%s\n",a);
return 0;
}
#include <string.h> //strcpyを使用するのに必要
int main(){
char a[20];
strcpy(a, "atokara");
printf("a=%s\n",a);
return 0;
}
ちなみに、char配列のサイズ指定の有無だが、
#include <stdio.h>
int main(){
char a[] = "atokara";
printf("a=%s\n",a);
return 0;
}
は、OKだが、int main(){
char a[] = "atokara";
printf("a=%s\n",a);
return 0;
}
#include <stdio.h>
#include <string.h>
int main(){
char a[];
strcpy(a, "atokara");
printf("a=%s\n",a);
return 0;
}
は、エラーになる。strcpyの一つ目の引数はあらかじめサイズ指定が必要。
#include <string.h>
int main(){
char a[];
strcpy(a, "atokara");
printf("a=%s\n",a);
return 0;
}
0 件のコメント:
コメントを投稿