• ベストアンサー

' 'の意味

C++です。 while (a >= 0) { cout << a << ' '; の中の' 'はどういう意味でしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kazu0210
  • ベストアンサー率60% (3/5)
回答No.1

''(シングル)なのか""(ダブル)なのかにもよりますが 意味はシングルの場合は'A'でAのアスキーコードというものをあらわします(''でかこまれた文字を16進数で表現することです)  ダブルの場合は、cout<<a<<"abcdef"<<endl;などで使いこれを画面で表示すると、(aの変数の内容)abcdefとなります。だからcoutないでの""の中身をそのまま出力してしまうわけです 

yosiyosi
質問者

お礼

ありがとうございました。

関連するQ&A

  • VC++でプログラムの勉強をしています。

    プログラムは最近はじめたばかりです。While文とif文を使ってクイズを作ってみたところ、一個目のsinで入力を求めているところから無限ループになってしまいました。色々調べてcin.cler()とsin.ignore()を入れたりもしてみましたが上手くいきませんでした。どこを間違えているのでしょうか? //クイズ #include <iostream> using namespace std; int main()//cin.clear();cin.ignore();???? { int a; int b; while(1) { cout<<"ネコ型のロボットが出てくるアニメといえば?"<<endl; cout<<"A)ドラえもん B)ドラエもん C)ほりえもん D)サザエさん"<<endl; cin>>a; if(a=='A') { cout<<"ファイナルアンサー?"<<endl; cout<<"Y)Yes N)NO"<<endl; cin>>b; if(b=='Y'){break;} if(b=='N'){cout<<"ゆっくり考えてね!!"<<endl;} if(b!='Y'||'N'){cout<<"正しく入力してね!"<<endl;} } if(a=='B'||'C'||'D') { cout<<"ファイナルアンサー?"<<endl; cout<<"Y)Yes N)NO"<<endl; cin>>b; if(b=='Y'){cout<<"残念!!"<<endl;} if(b=='N'){cout<<"ゆっくり考えてね!!"<<endl;} } if(a!='A'||'B'||'C'||'D'){cout<<"正しく入力してね!"<<endl;} } cout<<"正解!!"<<endl; }

  • この意味を教えてください

    c = getchar(); while (c != EOF){ if (c != '\n') printf("入力文字の文字コードは,0x%2xです。", c); c = getchar(); } の中にあるif文(if (c != '\n') )は何を意味してるのでしょうか?宜しくお願い致します。

  • 改行文字について

    #include<iostream> using namespace std; int main(void) { char c; while (cin.get(c)) if (c == '\n') cout << "[RET]\n"; else cout << c; return(0); } これのif (c == '\n')の改行文字と等しいとは何のことを指すのでしょうか? よろしくお願いします。

  • アドレスの計算が合わない

    C++でポインタの勉強をしています。 その中でアドレスについての以下のような記述がありました。 <例1> struct { int a; int b; int c; } oshiete; cout << &oshiete.a << endl; cout << &oshiete.b << endl; cout << &oshiete.c << endl; このように、構造体の中で宣言された変数の領域は連続した場所を確保するというものでした。これの実行結果は以下の様になりました。 0013FF5C 0013FF60 0013FF64 int型のバイト数は4でしたので、それぞれの変数の先頭アドレスは4つ間隔になっています。しかし、これの2つ目の変数bをshort型に変えても同じ結果が返ってくるのです。short型のバイト数は2です。 <例2> struct { int a; short b; int c; } oshiete; cout << &oshiete.a << endl; cout << &oshiete.b << endl; cout << &oshiete.c << endl; 結果: 0013FF5C 0013FF60 0013FF64 そして変数aもshort型にすると、やっと納得のいく結果になりました。 <例3> struct { short a; short b; int c; } oshiete; cout << &oshiete.a << endl; cout << &oshiete.b << endl; cout << &oshiete.c << endl; 結果: 0013FF60 0013FF62 0013FF64 なぜ<例2>ではint, short, intの順で宣言したのにアドレスが全て4つ間隔なのでしょうか?例えば先頭アドレスが0013FF5Cであるなら、 0013FF5C 0013FF60 0013FF62 のように1つ目と2つ目のアドレス差は4、2つ目と3つ目のアドレス差は2になるはずだと思うのですが。

  • 構造体のサイズが意味不明の数になります・・・

    構造体のサイズのことですが、ご存知の方がいたら教えてください。 まず、↓のプログラムを実行させたのですが、 #include<iostream> using namespace std; struct test{ short a; int b; short c; }; int main(){ cout<<sizeof(test); return 0; } 結果として8が出力されることを予想していましたが、なぜか12が出力されました。 shortは4バイトだったのかな、と思ったのですが cout<<sizeof(short); でやってみたところ結果はやはり2でした。 もちろん cout<<sizeof(int); の結果は4です。 さらに分からない所は struct test{ int b; short a; short c; }; int main(){ cout<<sizeof(test); return 0; } このように構造体の中身を入れ替えたところ正しく8が出力されました。 visual c++ 2008 express editionを使っています。 OSはvistaです。

  • cout関数を使っているのですが,画面に出力されません。

    いつもお世話になっております。今回はC++言語について質問があります。 次のプログラムは画面から入力された文字の数とリターンの数を数えるプ ログラムです。 /* 入力の文字数を数えるプログラム */ #include <iostream.h> int main(int argc, char **argv){ char c; int RETcount = 0; //改行数 int CHARcount = 0; //文字数 while(cin.get(c)){ if(c == '\n'){ ++RETcount; } else{ ++CHARcount; } } cout << "RET:" << RETcount << '\n'; //(1) ここの部分が表示されません。 cout << "CHAR:" << CHARcount << '\n';//(2) ここの部分は表示されます。 return 0; } 何故か(1)の部分が表示されません(^^; いきなり(2)の部分が表示されます。 そこで(1)(2)の部分を下記の(3)(4)(5)に書換え cout << "RET:" << RETcount << '\n'; //(3) cout << "RET:" << RETcount << '\n'; //(4) cout << "CHAR:" << CHARcount << '\n'; //(5) 実行した所(4)と(5)の部分は表示されるのですが, (3)の部分が表示されません。 つまりwhile{・・・・・}の直後のcoutが表示されません。 while(cin.get(c))で何かが起こっているのでしょうか????(^^; 使用環境は,Windowsで入力の終了は[Ctrl + Z]で行っています。 ご存知の方どうかご指導よろしくお願いします。

  • 配列の練習問題

    #include<iostream> using namespace std; //count関数の宣言 int count(char str[], char ch); int main() { char str[100]; char ch; cout << "文字列を入力して下さい。\n"; cin >> str; cout << "文字列から探す文字を入力して下さい。\n"; cin >> ch; int c = count(str, ch); cout << str << "の中に" << ch << "は" << c << "個あります。\n"; return 0; } //count関数の定義 int count(char str[], char ch) { int i = 0; int c = 0; while (str[i]) { if (str[i] == ch) c++; i++; } return c; } こんにちは。 この問題の解答のプログラムの意味がイマイチ解らないので良かったら教えて下さい。 確認がてらに質問します。 よろしくお願いします。

  • コンソールで整数を入力(C#)

    C#でコンソールから整数を入力したいのですが、 やり方がみつかりません。分かる方教えてください。 C++だと下のようなコードです。 int a; cout<<"整数を入力して!"; cin>>a; cout<<"入力した整数は:"<<a; こんなこと分からなくてすみません...

  • C++の二次方程式のプログラム

    #include <iostream> #include <cmath> using namespace std; int main() { double a,b,c; cin >> a >> b >> c; if(a==0) { cout << (-c/b) << '\n'; } else if((b*b-4*a*c)<0) { cout << (-b/2/a) << 'i' << sqrt(4*a*c-b*b)/2/a << '\n'; } else { cout << (-b/2/a) << sqrt(4*a*c+b*b)/2/a << '\n'; } return 0; } 最後のelseの下のcoutが本当に分からないんで教えてくださいお願いします。一応この条件(a=0の時、aが0以上の時、aが0以下の時)で出題されてるんですが…

  • Whileは 間あいだ という意味の名詞ですか?だ

    Whileは 間あいだ という意味の名詞ですか?だとすると、 A while, Two whiles Three whilesと数えられるということですか?

専門家に質問してみよう