Khai báo biến để gọi hàm C

em có hai hàm cộng 2 số tự nhiên

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

void add2b(int a, int b, int *c)
{
    *c=a+b;
}

vậy trong hàm main(){khai báo biến để gọi 2 hàm add2a và add2b}
em phải khai báo các biến như thế nào để gọi 2 hàm add2a và add2b.
em cám ơn =D

int main()
{
int a=?,b=?;
add2a(a,b);
int c;
add2b(a,b,&c);
return 0;
}

Như vầy mới đúng chứ nhỉ?

int main() {
  int a = ?, b = ?, c;
  c = add2a(a,b);
  add2b(a,b,&c);
  return 0;
}
2 Likes

Vẫn như nhau mà =)).
Mà sao bác viết code trong ô nhìn đẹp vậy?.
Em biết mỗi copy xong paste thôi@@

include <stdio.h>
include <math.h>
int add2a(int a, int b);
void add2b(int a, int b, int *c);


int main()
{
	int a=1,b=5;
	printf("s1=%d",add1(a,b));

	int c;
	printf("s2=%d",add2b(a,b,&c));
	return 0;
}

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

void add2b(int a, int b, int *c)
{
	*c=a+b;
}

Bác sửa giúp em với, em compile nó báo em khai báo kiểu void không hợp lệ

dòng printf - add2b là kiểu void cho nên k thể viết như vậy đc.
Trong trường hợp này bác muốn in ra giá trị s2 = add2b thì thay add2b = c
printf(“s2=%d”, c);

int main()
{
	int a=1,b=5,s2,c;
	printf("s1=%d",add2a(a,b));
	
	s2=add2b;
	printf("s2=%d",s2);
	return 0;
}

em thay kiểu này đúng ko ạ, nó ra đáp án s2= tri rac

Bác vẫn phải giữ hàm void ở dưới chứ. Vì ban đầu k khởi tạo giá trị cho C nên nó xuất ra gtri rác

Và nữa là hàm void nó k trả về giá trị, cho nên k thể gán s2 = 1 hàm void đc.

merged and moved by noname00

1 Like

em vẫn giữ nguyên các hàm bên dưới, vậy em muốn in hàm đó ra thì làm sao ạ.

#include <stdio.h>
#include <math.h>
int add2a(int a, int b);
void add2b(int a, int b, int *c);


int main()
{
	int a=1,b=5,c;
	printf("s1=%d",add2a(a,b));
	
	add2b=c;
	printf("s2=%d",c);
	return 0;
}

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

void add2b(int a, int b, int *c)
{
	*c=a+b;
}

@Tien_Hoang_Dinh

2 Likes

Bác muốn in ra giá trị 1 hàm thì phải đổi hàm đó thành kiểu int,float hoặc double. Ở đây bác đổi thành kiểu int rồi return giá trị của c là đc.

cám ơn Bác và anh Đạt ^^

1 Like

dùng markdown có link a Đạt reply trong top đó bác :smiley:

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?