ititaのプロフィール
- ベストアンサー数
- 3
- ベストアンサー率
- 75%
- お礼率
- 72%
- 登録日2005/03/21
- c 文字列の終わりを示すコードは 0x00 それとも '?0' , '/0' ?
cの本を参考にプログラムをかじっているのですが、 本には '?0' と書いてあり、それで出力してみるとうまくいかず いろいろインターネットで調べたのですが、 0x00 だとうまくいきました。 良くわからないのですが、なぜでしょう? スミマセンおねがいします。
- ベストアンサー
- psychesine
- C・C++・C#
- 回答数2
- C言語におけるif文の評価順
たとえば以下のようなif文で、A B C が評価される順番は 言語の規約上、明確になっているのでしょうか? if ( A && B && C ) { } また例えば A, B, C の順番に評価されるとして、B が FALSE の場合は C を評価する必要はありませんが、 この場合、Cは評価されないことは言語規約上、明確に なっているのでしょうか? 手元のコンパイラで試した結果では 評価順は A -> B -> C で B で FALSE を返すようにしたら C は実行されませんでした。 ただ、これが実装依存か、言語の標準仕様かという点が 気になっています。
- C言語のwin32に関する質問(
以下のコードは、ウィンドウを表示し、そのウィンドウを閉じるとアプリケーションが終わると言うプログラムなのですが、これを実行しウィンドウを閉じると、パソコンがビジー状態になってしまいます このプログラムをどう書き換えれば正常に動いてくれのでしょうか,解る方が居たら教えてください ↓がそのプログラムのソースです #include <windows.h> #include<stdlib.h> LRESULT CALLBACK WndProc(HWND window,UINT msg,WPARAM wpalam,LPARAM lpalam) { switch (msg){ case WM_DESTROY: PostQuitMessage(0); return 0; } return DefWindowProc(window,msg,wpalam,lpalam); }; int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR lpCmdLine, int nCmdShow){ HWND window; MSG uketori; WNDCLASS usuary; usuary.style=CS_HREDRAW|CS_VREDRAW; usuary.lpfnWndProc= WndProc; usuary.cbClsExtra=0; usuary.cbWndExtra=0; usuary.hInstance=hInstance; usuary.hIcon=LoadIcon(NULL,IDI_APPLICATION); usuary.hCursor=LoadCursor(NULL,IDC_ARROW); usuary.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH); usuary.lpszMenuName=NULL; usuary.lpszClassName=TEXT("testtest"); RegisterClass(&usuary); window= CreateWindow(TEXT("testtest"),TEXT("testtest"),WS_OVERLAPPEDWINDOW|WS_VISIBLE,5,8,500,500,NULL,NULL,hInstance,NULL); while(GetMessage(&uketori,window,0,0)){ DispatchMessage(&uketorri) }; return uketori.wParam; };