amir_saniyan
جمعه 20 اردیبهشت 1387, 21:27 عصر
سلام
این C++ لعنتی هر چی هم که کار کرده باشی باز هم نمیتونی بگی کاملا بهش مسلطی.
کد زیر رو در نظر بگیرید:
#include<stdio.h>
#include<iostream>
usingnamespace std;
int main()
{
int i = 3;
cout << i++ << ' ' << i++ << ' ' << i++ << ' ' << i++ << ' ';
getchar();
return 0;
}
به نطرتون چی با ید چاپ کنه؟ ابتدا به نظر من اومد که:
3 4 5 6
اما اگه شما هم چنین حدسی رو زدید باید بگم اشتباه است چون چیزی که چاپ میشه اینه:
6 5 4 3
اگه باور نمیکنید خودتون امتحان کنید.
اما کسی میدونه چرا؟
و یا کد زیر رو در نظر بگیرید:
#include<stdio.h>
#include<iostream>
usingnamespace std;
void show(int a, int b)
{
cout << a << ' ' << b;
}
int main()
{
int i = 3;
show(i, i++);
getchar();
return 0;
}
بر عکس اون چیزی که فکر میکنید خروجیاش اینه:
4 3
کسی میدونه چرا این طوری میشه؟
این C++ لعنتی هر چی هم که کار کرده باشی باز هم نمیتونی بگی کاملا بهش مسلطی.
کد زیر رو در نظر بگیرید:
#include<stdio.h>
#include<iostream>
usingnamespace std;
int main()
{
int i = 3;
cout << i++ << ' ' << i++ << ' ' << i++ << ' ' << i++ << ' ';
getchar();
return 0;
}
به نطرتون چی با ید چاپ کنه؟ ابتدا به نظر من اومد که:
3 4 5 6
اما اگه شما هم چنین حدسی رو زدید باید بگم اشتباه است چون چیزی که چاپ میشه اینه:
6 5 4 3
اگه باور نمیکنید خودتون امتحان کنید.
اما کسی میدونه چرا؟
و یا کد زیر رو در نظر بگیرید:
#include<stdio.h>
#include<iostream>
usingnamespace std;
void show(int a, int b)
{
cout << a << ' ' << b;
}
int main()
{
int i = 3;
show(i, i++);
getchar();
return 0;
}
بر عکس اون چیزی که فکر میکنید خروجیاش اینه:
4 3
کسی میدونه چرا این طوری میشه؟