عندما أقوم بعمل حلقة تكرار while وأتحقق من أن قيمة المتغير x أكبر من أو تساوي -1 يتم طباعة رقم كبير في نهاية الحلقة،
#include<iostream>// check if x is zero or biggerbool check(int x);int main(){unsignedint x {100};while( check(x)){
std::cout << x << std::endl;--x;}return0;}bool check(int x){return x >=-1;}
نتيجة الكود السابق هي طباعة الأرقام من 100 إلى صفر ثم أجد أنه تم طباعة الرقم 4294967295:
100
99
98
97
96
95
...
2
1
0
4294967295
ما سبب أنه يتم طباعة هذا الرقم الكبير؟ وكيف يمكن أن أتخلص منه؟
السؤال
Mohssen A Mohssen
عندما أقوم بعمل حلقة تكرار while وأتحقق من أن قيمة المتغير x أكبر من أو تساوي -1 يتم طباعة رقم كبير في نهاية الحلقة،
نتيجة الكود السابق هي طباعة الأرقام من 100 إلى صفر ثم أجد أنه تم طباعة الرقم 4294967295:
100 99 98 97 96 95 ... 2 1 0 4294967295
ما سبب أنه يتم طباعة هذا الرقم الكبير؟ وكيف يمكن أن أتخلص منه؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.