Khi tôi chạy chương trình này:C++ trở lại giá trị mà không trả lại tuyên bố
#include <iostream>
int sqr(int&);
int main()
{
int a=5;
std::cout<<"Square of (5) is: "<< sqr(a) <<std::endl;
std::cout<<"After pass, (a) is: "<< a <<std::endl;
return 0;
}
int sqr(int &x)
{
x= x*x;
}
tôi có kết quả như sau:
Square of (5) is: 2280716
After pass, (a) is: 25
2280716
là gì? Và, làm thế nào tôi có thể nhận được một giá trị trả lại cho sqr(a)
trong khi không có câu hỏi return
trong hàm int sqr(int &x)
?
Cảm ơn.
WTF? Tại sao bạn muốn viết mã như vậy? Rõ ràng sqr là một hàm toán học và nó không có ý nghĩa để sử dụng tham số như trong-ra. –
@Ilya Kogan. Chỉ cần kiểm tra cách vượt qua bằng cách tham chiếu hoạt động – Simplicity