Hacking: 美しき策謀 第2版 ―脆弱性攻撃の理論と実際って本で提供さ入れているubuntuでは正常にgccでコンパイルして動作するのに、自分で準備したlubuntuではエラーが出ます。原因を教えてください。両方VBOXでやってます。 あとどうして\nを入れてないのに改行されているのかわかりません。
#include <stdio.h> #include <string.h> int main() { char str_a[20]; // 20個の要素を持つ文字の配列 char *pointer; // 文字の配列を指すポインタ char *pointer2; // 同じく、文字の配列を指すポインタ strcpy(str_a, "Hello, world!\n"); pointer = str_a; // 1つ目のポインタが配列の先頭を指すように設定する printf(pointer); // 1つ目のポインタが指している文字列を表示する pointer2 = pointer + 2; // 2つ目のポインタは2バイト先を指すように設定する printf(pointer2); // 2つ目のポインタが指している文字列を表示する strcpy(pointer2, "y you guys!\n"); // その場所に他の文字列をコピーする printf(pointer); // 1つ目のポインタが指している文字列を表示する } pointer.c: In function ‘main’: pointer.c:11:4: warning: format not a string literal and no format arguments [-Wformat-security] printf(pointer); // 1つ目のポインタが指している文字列を表示する ^~~~~~ pointer.c:14:4: warning: format not a string literal and no format arguments [-Wformat-security] printf(pointer2); // コード

回答1件
あなたの回答
tips
プレビュー