演算子に関する質問です。
#include <stdio.h> int main(void){ // Your code here! char str[5]={"abcde"}; int i; for(i = 0; i < 1; i++){ printf("%x\n", &str[i]);//一週目のiは printf("%p\n", &str[i]);//i++が働かない printf("%x\n", str + i);//のでiには printf("%x\n", &*(str + i));//0が入る } }
%pにより &str[i]のアドレスを表示しようとしたのですが、e7a6d0b8ではなく0x7ffee7a6d0b8と表示されました。なぜでしょうか?
というか%xとはアドレスを表示するための演算子という認識で合ってますよね?
実行結果 e7a6d0b8 0x7ffee7a6d0b8 e7a6d0b8 e7a6d0b8
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/29 09:14 編集
2021/07/29 09:15