em có thắc mắc về câu lệnh if else trong c++
theo như kiểu lập trình hướng sự kiện thì câu lẹnh if rất hay được sử dụng nhưng em đọc mãi vẫn gà phần này !
giả sử có 1 hàm với chuỗi các câu lệnh if liên tục
func (int* a= null , nt* b = null)
{
int m=1, int n=1;
if (1) // lệnh if thứ nhất
m = m+1 ;
if (m==2) // lệnh if thứ hai
{
a=&m;
b=&n;
}
if (a) // lệnh if thứ 3
{
// lệnh gì đó
}
if(*a ==2) // lệnh if thứ 4
{
//asdf
}
}
thắc mắc ở đây là
++ câu lệnh if thứ 1 luôn được thực hiện rồi nhưng khi xong câu lệnh đó thì m nhận giá trị bao nhiêu ???
++ liệu giá trị của m có thể được đem ra để tính vào if thứ 2 không ???
++ giá trị của m có được duy trì và kế thừa qua mỗi lẹnh if hay không hay thoát khởi lệnh if tất cả các biến bị reset về null hết ???
++ giả sử câu lệnh thứ 2 đã được thực hiện ( kể cả không thì viết 1 câu lệnh ì khác để gán địa chỉ m,n cho con trỏ a,b để coi như a,b đã được gán cho 1 biến nào đó trong 1 câu lệnh if )
như vậy giá trị của a có được bảo tồn không ???
giá trị của *a là bao nhiêu ???
và thêm nữa là con trỏ khi ra khỏi khối lệnh thì có được lưu lại địa chỉ của biến cục bộ không ???
theo như kiểu lập trình hướng sự kiện thì câu lẹnh if rất hay được sử dụng nhưng em đọc mãi vẫn gà phần này !
giả sử có 1 hàm với chuỗi các câu lệnh if liên tục
func (int* a= null , nt* b = null)
{
int m=1, int n=1;
if (1) // lệnh if thứ nhất
m = m+1 ;
if (m==2) // lệnh if thứ hai
{
a=&m;
b=&n;
}
if (a) // lệnh if thứ 3
{
// lệnh gì đó
}
if(*a ==2) // lệnh if thứ 4
{
//asdf
}
}
thắc mắc ở đây là
++ câu lệnh if thứ 1 luôn được thực hiện rồi nhưng khi xong câu lệnh đó thì m nhận giá trị bao nhiêu ???
++ liệu giá trị của m có thể được đem ra để tính vào if thứ 2 không ???
++ giá trị của m có được duy trì và kế thừa qua mỗi lẹnh if hay không hay thoát khởi lệnh if tất cả các biến bị reset về null hết ???
++ giả sử câu lệnh thứ 2 đã được thực hiện ( kể cả không thì viết 1 câu lệnh ì khác để gán địa chỉ m,n cho con trỏ a,b để coi như a,b đã được gán cho 1 biến nào đó trong 1 câu lệnh if )
như vậy giá trị của a có được bảo tồn không ???
giá trị của *a là bao nhiêu ???
và thêm nữa là con trỏ khi ra khỏi khối lệnh thì có được lưu lại địa chỉ của biến cục bộ không ???
Comment