#include<stdio.h>
#include<string.h>
#define MAXSTR 11
int main(void)
{
char str_a[MAXSTR]="";
char str_b[1]="";
char str_c[MAXSTR]="Hello.";
strcpy(str_a, str_c);
strcpy(str_b, "Good Bye.");
printf("%p,%p,%p\n",str_a, str_b, str_c);
printf("%s,%s,%s\n",str_a, str_b, str_c);
return 0;
}
このプログラムの挙動がおかしいことについて、表示されるアドレス値を用いて説明してください><
アドレス値
Re: アドレス値
ソースコードを提示する際は、BBCodeを有効にした(無効にしない)状態でcodeタグで囲んでいただけると、見やすくてありがたいです。
よって、この質問はナンセンスです。
このプログラムはcgengomanyuuii さんが書きました:このプログラムの挙動がおかしいことについて、表示されるアドレス値を用いて説明してください><
- strcpy関数で確保された範囲外に書き込む
- printfの%pにはvoid*型のデータを渡さないといけないのに、char*型のデータを渡している
よって、この質問はナンセンスです。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)