0

このコードが出力を表示しない理由: 代わりに、

cout << &s1.f 

また

cout << &s1.i

適切な出力を提供します。

# include <iostream>
using namespace std;

struct s
{
char c;
int i;
float f;

}s1;

int main()
{
cout << &s1.c;
}
4

2 に答える 2

5

operator<<を取りchar*、null で終わる文字列として表示するのオーバーロードがあります。ポインタ アドレスを表示する場合は、ポインタを にキャストしますvoid*

于 2012-05-30T13:30:52.170 に答える
2

のアドレスを取得cすると、型が achar*になり、null で終了する文字列として解釈されます。デフォルトでは、グローバル変数はゼロで初期化cされており、空の文字列として解釈されるため、何も出力されません。

于 2012-05-30T13:31:54.053 に答える