fshb_ 1370
یک شنبه 31 مرداد 1389, 10:21 صبح
سلام
چرا تو این برنامه if اول در هر صورت درسته؟ compiler ازش اررور نمیگیره، ولی اگه عددی هم وارد بشه که تو محدوده نباشه باز هم if اول اجرا میشه. این چه شکلی تحلیل میشه؟
#include <iostream>
using namespace std;
const char * qualify[4] = // an array of pointers
{ // to strings
"10,000-meter race.\n",
"mud tug-of-war.\n",
"masters canoe jousting.\n",
"pie-throwing festival.\n"
};
int main()
{
int age;
cout << "Enter your age in years: ";
cin >> age;
int index;
if (17<age<35)
index = 0;
else if (age >= 35 && age < 50)
index = 1;
else if (age >= 50 && age < 65)
index = 2;
else
index = 3;
cout << "You qualify for the " << qualify[index];
return 0;
}
چرا تو این برنامه if اول در هر صورت درسته؟ compiler ازش اررور نمیگیره، ولی اگه عددی هم وارد بشه که تو محدوده نباشه باز هم if اول اجرا میشه. این چه شکلی تحلیل میشه؟
#include <iostream>
using namespace std;
const char * qualify[4] = // an array of pointers
{ // to strings
"10,000-meter race.\n",
"mud tug-of-war.\n",
"masters canoe jousting.\n",
"pie-throwing festival.\n"
};
int main()
{
int age;
cout << "Enter your age in years: ";
cin >> age;
int index;
if (17<age<35)
index = 0;
else if (age >= 35 && age < 50)
index = 1;
else if (age >= 50 && age < 65)
index = 2;
else
index = 3;
cout << "You qualify for the " << qualify[index];
return 0;
}