Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
#include<stdio.h> int main() { int a=3; printf("%d"+1,a); return 0; }
このプログラムの出力が"d"になるのはなぜですか? そして、この int 指定子 (%d) を float (%f) に置き換えると、出力は"f"になります。
このコードを説明してください...
"%d" + 1と同じです&"%d"[1]。つまり、文字列の 2 番目の文字へのポインタです。printfそこから文字列をフォーマット指定子として解釈し始めます。したがって、これは just と同じです"d"(2 番目の引数は単純に無視されます)。
"%d" + 1
&"%d"[1]
printf
"d"