01/10/2018, 17:32

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

Harry Stormborn viết 19:35 ngày 01/10/2018
int main()
{
int a=?,b=?;
add2a(a,b);
int c;
add2b(a,b,&c);
return 0;
}
Sáng Béo viết 19:38 ngày 01/10/2018

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

int main() {
  int a = ?, b = ?, c;
  c = add2a(a,b);
  add2b(a,b,&c);
  return 0;
}
Harry Stormborn viết 19:46 ngày 01/10/2018

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@@

Tiến Hoàng Đình viết 19:37 ngày 01/10/2018
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ệ

Harry Stormborn viết 19:42 ngày 01/10/2018

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);

Tiến Hoàng Đình viết 19:45 ngày 01/10/2018
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

Harry Stormborn viết 19:49 ngày 01/10/2018

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.

HK boy viết 19:34 ngày 01/10/2018

merged and moved by noname00

Tiến Hoàng Đình viết 19:35 ngày 01/10/2018

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;
}
Mai Anh Dũng viết 19:34 ngày 01/10/2018

@Tien_Hoang_Dinh

Làm sao để có thể hiển thị syntax highlighting bằng markdown? Các bạn phải đánh dấu ``` như ví dụ dưới đây Chú ý, dấu ``` được tạo ra bởi nút nằm bên trái số 1 trên bàn phím, nút này sẽ là ~ khi bấm giữ Shift Ví dụ cho C Nội dung: ``` void main() { } ``` Và đừng quên ``` ở cuối Kết quả void main() { } Ví dụ cho Pascal Nội dung: ``` Program HelloWorld; Begin WriteLn('Hello world!') {no ";" is required after the last statement of a block - adding one adds a "null statement" to t…
Harry Stormborn viết 19:40 ngày 01/10/2018

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.

Tiến Hoàng Đình viết 19:34 ngày 01/10/2018

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

Sáng Béo viết 19:38 ngày 01/10/2018

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

Bài liên quan
0