01/10/2018, 08:57

Tại sao code bị lỗi?

SilverBullet viết 11:11 ngày 01/10/2018

Bạn nên ghi rõ ra là lỗi gì chứ. Mà trong hàm main nó có hiểu T là cái gì đâu? Với cả thường khi viết hàm người ta chỉ viết

    int T(int a, int b){
        return a + b;
    }

rồi cin >> a >> b trong hàm main thì hay hơn.

BX136 viết 11:02 ngày 01/10/2018

cái hàm T có 2 tham số truyền vào a và b
ở dưới main không thấy hàm T được truyền vào gì cả thì sao if(T == 4) được ?

Trần Hoàn viết 11:07 ngày 01/10/2018

int T(int a, int b) nó là hàm số và a, b khai báo ở đây là các biến cục bộ.
khi sử dụng, ta gọi T(a, b) thì sẽ nhập a, b rồi trả về kết quả là a+b
tương tự, nếu ta gọi `T(a, n) thì sẽ nhập a, n rồi trả về kết quả là a+n

Ngoài ra, bạn khai báo hàm main() là int thì phải có kết quả trả về (return).

Bạn có thể viết lại chương trình để hiểu hơn về hàm như sau:

#include <iostream>
#include <conio.h>
#include "stdafx.h"
using namespace std;

int T(int Input1, int Input2)
{
    cin >> Input1 >> Input2;
    return Input1 + Input2;
}

void main()
{
    int a, b;
    if (T(a, b) == 4)
        cout << "abc\na= " << a << "\nb= " << b;
    int c;
    if (T(a, c) == 4)
        cout << "abc\na= " << a << "\nb= " << b << "\nc= " << c;
    _getch();
}
Nguyễn Văn Hùng viết 11:11 ngày 01/10/2018

Bạn thử viết như thế này xem được không?

int main()
{
      int a, b;
      if (T(a, b) == 4)
              count <<  "abc";
      system("pasuse");
}
Bài liên quan
0