01/10/2018, 17:46

Code tính thời gian sau 1 giây

#include <stdio.h>
void nhap( int &a, int &b, int &c);
int ktsaumots(int h, int m, int s);
void xuat (int h, int m, int s);
void main()
{
	int h,m,s;
	nhap(h,m,s);
	int kt= ktsaumots(h,m,s);
	xuat (h,m,s);
}
void nhap( int &h, int &m, int &s)
{
	scanf("%d%d%d", &h, &m, &s);
}
int ktsaumots(int h, int m, int s)
{
	if ((h>=0) && (m>=0) && (s>=0))
	{
		if (s>60)
		{
			s=s-60;
			m=m+1;
			return s,m;
		}
		if (m>60)
		{
			m=m-60;
			h=h+1;
			return m,h;
		}
		if (h>23)
		{
			h=h-24;
			return h;
		}
	}
		return h,m,s;
}
void xuat (int h, int m, int s)
{
	printf("%d%d%d", h,m,s);
}

Em không biết đang sai lỗi nào mà nó xuất ra y nguyên chẳng + thêm gì cả mọi người giúp em với

rogp10 viết 19:54 ngày 01/10/2018

phì cười

  1. C không có tham chiếu (& kiểu đó) đâu nhé
  2. Bạn nhớ & bên hàm nhập thì sao hàm tính lại không có
  3. return chỉ được một biến thôi không có hai biến đâu.
  4. Và C không có tham chiếu.
Gia Khang Nguyễn Lâm viết 20:01 ngày 01/10/2018
#include <stdio.h>
void nhap( int &a, int &b, int &c);
int ktsaumots(int &h, int &m, int &s);
void xuat (int h, int m, int s);
void main()
{
	int h,m,s;
	nhap(h,m,s);
	int kt= ktsaumots(**h,m,s**);
	xuat (**h,m,s**);
}
void nhap( int &h, int &m, int &s)
{
	scanf("%d%d%d", &h, &m, &s);
}
**int ktsaumots(int &h, int &m, int &s)**
{
	if ((h>=0) && (m>=0) && (s>=0))
	{
		if (s>60)
		{
			s=s-60;
			m=m+1;
			**return s,m;**
		}
		if (m>60)
		{
			m=m-60;
			h=h+1;
			**return m,h;**
		}
		if (h>23)
		{
			h=h-24;
			**return h;**
		}
	}
		**return h,m,s;**
}
void xuat (int h, int m, int s)
{
	printf("%d%d%d", h,m,s);
}

Thank bạn nha mình đã làm được nhưng vẫn còn 1 thắc mắc :

  1. Mình đã trả về giá trị rồi thì theo mình hiểu nó sẽ truyền vào hàm int kt= ktsaumots bên trên rồi truyền xuống hàm xuất và xuất ra. Tại sao lại phải truyền & mới xuất ra được.
Gia Khang Nguyễn Lâm viết 19:48 ngày 01/10/2018

Vậy nếu trong trường hợp mình muốn trả lại 2 biến rồi xuất ra vậy phải làm sao.

rogp10 viết 19:55 ngày 01/10/2018

Có hai cách truyền: tham trị là bên trong hàm với bên ngoài là riêng (truyền giá trị), tham biến là tham số vào callee ăn thông với caller (truyền biến). Khi tham số là tham chiếu (phân biệt cài đặt với khái niệm ) thì tham số (bên callee) sẽ gắn chặt vào tham caller truyền vào, mà tham chiếu chỉ là alias của biến => tham biến.

Gia Khang Nguyễn Lâm viết 19:47 ngày 01/10/2018

(post withdrawn by author, will be automatically deleted in 24 hours unless flagged)

Bài liên quan
0