次のコードを持っているし、大丈夫です、割り当ては、私たちは常に使用する2つの等号
while(int c=getchar() != 'q');
をしかし、もし変更以下のようにポインタをint型、エラーが上昇するコンパイル。
#include <stdio.h>
int main(){
int* c=0;
if(int* a =c !=0)
printf("ok");
}
error: cannot convert `bool' to `int*' in assignment
ここで何が起こったのですか?優先順位が変更されたようです。誰も私にヒントを与えることができます。もし私がこれに変更すれば、それはうまくいくでしょう。
#include <stdio.h>
int main(){
int* c=0;
int* a;
if((a =c) !=0)
printf("ok");
}
int*
に 'しばらく(!int型C = getchar関数()= 'Q')'の割り当てであるとして解析し、使用して大丈夫*は期待の意味が何であるかに応じて、過言かもしれないですが、それはあなたが第二の例から期待しているように見えるのセマンティクスを生産されていません... –
はい、私はこの上で完全に間違っています。 –