Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 4 của 4
  1. #1
    Ngày tham gia
    Sep 2015
    Đang ở
    hà nội
    Bài viết
    0

    mình không hiểu chổ nầy

    Hàm return (x>y) ? x:y; bên dưới có nghĩa gì ạ

    Mã:
    #include <stdio.h> 
    #include <conio.h> 
    int max(int x, int y) 
    { 
        return (x>y) ? x:y; 
    } 
     
    int main() 
    { 
    	int a, b, c, d, h; 
    	printf("
     Nhap vao so a:  "); 
    		scanf("%d",&a);
    	printf("
     Nhap vao so b:  "); 
    		scanf("%d",&b);
    	printf("
     Nhap vao so c:  "); 
    		scanf("%d",&c);
    	printf("
     Nhap vao so d:  "); 
    		scanf("%d",&d);
    	printf("
     Nhap vao so h:  "); 
    		scanf("%d",&h);
    	printf("
     So lon la %d",max(a,max(b,max(c,max(d,h))))); 
    		getch(); 
    	return 0; 
    }

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Cú pháp này là cách viết gọn của cấu trúc if .... else. Trước dấu chấm hỏi là 1 biểu thức điều kiện, trước dấu 2 chấm là kết quả trả về nếu điều kiện đúng, sau dấm 2 chấm là kết quả trả về nếu điều kiện sai.

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    return (x>y) ? x:y;
    tương đương :
    Mã:
    if(x>y)
       return x;
    else 
       return y;
    Tham khảo về lập trình căn bản C :



  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    đây gọi là toán tử 3 ngôi.
    (x>y) ? x:y nghĩa là nếu x>y thì kết quả là x, còn x<y thì kết quả là y. Dòng này tìm Max. return (x>y) ? x:y sẽ trả về thằng Maximum của 2 số.

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •