Chào các bạn !!
Mình sẽ nêu ra các đoạn code minh họa để các bạn nắm rõ điều mình cần hỏi ^^ :
mình đã thử và nhập x=5 & y=5 , kết quả nó cho là 10 ,Code:#include <iostream.h> #include <conio.h> #define G " Hay nhap gia trị x+y , PC sẽ báo kết quả của x+y " int x; int y; int z; int m,n,h,k; main () { clrscr(); cout<<G; cout<<"\n"; cout<<"Bạn hãy nhập giá trị của x="; cin>>x; cout<<"\n Ban hãy nhập giá tri của y="; cin>>y; cout<<"Kết quả x+y="<<x+y<<"\n"; z=x+y; m=z++ //Nếu m=z++ thì nó sẽ ra 2 kết quả chênh lệch 1 đơn vị , vậy ta lấy đợn vị nào ! n=++z; //Nếu n=++z thì nó sẽ ra 2 đơn vị giống nhau , ta cần phải làm gì với đơn vị còn lại ! k=(n>m) ? m:n; //" k= (n>m) ? m:n; " cái này nó sẽ tính toán ra sao ?? dấu "?" & ":" có tác dụng gì ? cout<<"\n"; cout<<"k="<<k; h=(n>m) ? n:m; // < Cái này tương tự như trên > cout<<"\n"; cout<<"h="<<h; getch(); return 0; }
-"k" kết quả nó cũng là 10 . // vì sao ?
-"h" thì lại ra kết quả cao hơn "k" 2 đơn vị , nó được tác động từ ký tự nào .
- Ý nghĩa & chức năng ký tự nó ra sao ?
+ Quách Việt Kiên
+ Yahoo: Kaka_8x_vn
+ skype: kiencuongno1
+ Gmail: kiencuongno1@gmail.com
Ai có thể free cho mình 50k thẻ điện thoại ko.
Excuse me , vẫn không hiểu =^^=
kết quả của k= tại sao lại bằng 10 .
và kết quả của h tại sao lại hơn k 2 đơn vị ^^!
theo mình nghĩ thì cách tính của nó là thế này :
x+y=5
m=z++ thì là 5+1=6 , tức m=6
n=++z thì n nó cũng bằng 6
h=(n>m) như vậy 6 & 6 là = nhau làm sao lớn hơn hoặc bé .
k=(n>m) cái này còn khó hiểu hơn , ban đầu thì như trên như so ra kết quả thì hơn 2 đơn vị ^^! chả hiểu sao nữa
còn các dấu "?" là sao , dấu ":" theo mình nghĩ thì nó là 1 ký tự để chia cách các điều kiện trong 1 câu lệnh , nhưng mình chả thấy câu lệnh nào ^^!
Mong bạn giải dá thắc mắc này giúp mình ^^! Thân
Đã được chỉnh sửa lần cuối bởi yuetakamashi : 30-11-2012 lúc 02:04 AM.
+ Quách Việt Kiên
+ Yahoo: Kaka_8x_vn
+ skype: kiencuongno1
+ Gmail: kiencuongno1@gmail.com
Ai có thể free cho mình 50k thẻ điện thoại ko.
Ế , bạn ghi cái gì mình không hiểu =.=
vấn đề là da đây ;
6&6 làm sao phân biệt cái nào lớn cái nào bé @@ và n:m; với m:n; 2 cái này khác nhau chỗ nào ?
+ Quách Việt Kiên
+ Yahoo: Kaka_8x_vn
+ skype: kiencuongno1
+ Gmail: kiencuongno1@gmail.com
Ai có thể free cho mình 50k thẻ điện thoại ko.
Mà vấn đề này nữa : nó như thế này :
n:m & m:n nó khác chỗ nào
x=5 y=5 thì là 10 .
z=x+y
m=z++ thì nó bằng 6
n=++z thì nó cũng bằng 6
h=(n>m) ? m:n; nói ra kết quả 10 . vấn đề trên này nếu n>m th2i nó thể này 6>6 thì tại sao nó ra 10 được ?
k=(n>m) ? n:m; nói ra kết quả là 12 . ^^! vấn đề là tại sao phép tính gần giống nhau nhưng kết quả lại ra khác nhau ???
Đã được chỉnh sửa lần cuối bởi yuetakamashi : 30-11-2012 lúc 02:38 AM.
Đành phải code cho bạn, bạn lười học quá.
C Code:
+ Quách Việt Kiên
+ Yahoo: Kaka_8x_vn
+ skype: kiencuongno1
+ Gmail: kiencuongno1@gmail.com
Ai có thể free cho mình 50k thẻ điện thoại ko.
thế giá trị của n=1 à( Nhưng ban đầu mình đâu có khai báo là n=1 đâu ) , tăng z len tức là lên 11 rồi , gắn thêm n=1 thì nó = 12 phai không ??
mình không phải lười học đâu , cái này làm mình nhức đầu suốt 2 ngày liền , nên mới ức chế post lên mong tìm hiểu rõ về nó ^^ mình không muốn thiếu 1 chi tiết nào mà !! Thân
1.
Nghĩa là tính kết quả biểu thức A, nếu khác 0 thì x = biểu thức B; nếu bằng 0 thì x = biểu thức C.Code:x = <biểu thức A> ? <biểu thức B> : <biểu thức C>
2.ví dụ
nghĩa là xem thử biểu thức so sánh (n > m) bằng mấy; nếu n lớn hơn m thì biểu thức nay bằng 1 (Nếu không hiểu thì xem phần 3); nếu n bé hơn m thì biểu thức này bằng 0. Vậy nếu n lớn hơn m thì h = m, nếu n bé hơn m thì h = nCode:h=n>m?m:n;
3. Các biểu thức so sánh có kết quả là 1 (nếu đúng) hoặc 0 (nếu sai).
4. ++z nghĩa là tăng z lên 1 rồi mới gán nó vào trong biểu thức, z++ nghĩa là gán z vào trong biểu thức rồi mới tăng lên 1