私は学校で課題のためのCコードを書いていて、本当に私を困らせるエラーを見つけました。以下は、問題を引き起こしていたコードスニペットです。Cの<と<<の違いは何ですか?
int i, result = 1;
for(i = 0; i < n; i++)
{
if(a[i]<< 15 || a[i] >> 50)
result = 0;
}
私のプログラムを実行しようとするたびに、私のデータ型には50が大きすぎるという警告が表示されます。私がint型を使用していたことを知り、number 50をintに簡単に格納できるのは、intが32バイト型であるため、32未満の値を期待していると仮定しました。私は50の代わりに20番の数字を使ってみましたが、エラーはありませんでした。私は二重の "<"と ">"マークをシングルに置き換え、コードは完全に機能しました。なぜ誰かがこの事件の理由を明らかにすることができるかどうか疑問に思っていましたか?私はCを新しくしただけで、暗闇の中で余分な "<"と ">"記号が問題だったが、それがうまくいった理由を知りたい。
実際の質問は、なぜあなたは>>または<<と最初に比較しようとしますか?しかし、Cの中の演算子を任意の本やチュートリアルで探し、何が2番目に何をするかを見ることができます。 –