Poll: Kiểm tra kiến thức C - 1.2

Các bạn thảo luận đáp án nhé, bài test lấy từ http://www.indiabix.com/online-test/c-programming-test/11

2.What will be the output of the program?

#include<stdio.h>
int main()
{
    int k, num=30;
    k = (num>5 ? (num <=10 ? 100 : 200): 500);
    printf("%d\n", num);
    return 0;
}
  • A. 200
  • B. 30
  • C. 100
  • D. 500
5 Likes

Sao bài này ra A. 200 vậy mọi người?
Mình giải ra 30 mà?

3 Likes

đề dễ nhìn nhầm thật ^^

4 Likes

Đề troll nhau thật @@

4 Likes

Thì bạn giải đúng rồi :v

4 Likes

nhiều người chọn 200 thế nhỉ ?

5 Likes

Bài này nó print ra num chứ không phải print k @lttp ơi :smile: Đề bài nó dụ người ta đó.

4 Likes

ặc troll vãi, mình chọn 200 cứ tưởng đúng :expressionless:

4 Likes

Haha, Mình lúc đầu cũng ra nhầm 200 :smiley:

4 Likes

Cái này nhiều người bị bé cái nhầm lắm, hehe.

3 Likes
Output: 200
int num = 30;
if(num > 5)
{
   if(num <= 10)
      printf("100");
   else
      printf("200");
}
else
   printf("500");
return 0;
}
3 Likes

Sau khi đọc xong bài này, em nghĩ là mình nên xem nó in ra cái gì trước rùi mới giải tiếp cho chắc quá. :slight_smile:

3 Likes

Kiến thức bài này ở đâu v anh. E không hiểu code :cry:

1 Like

Đâu là câu lệnh if thu gọn, nếu ta có câu lệnh if như sau

If (dieu_kien == true)
    lam_neu_dung();
else
    lam_neu_sai();

Thì ta có thể thu gọi lại tương đương với

dieu_kien == true ? lam_neu_dung() : lam_neu_sai();

Không khuyến khích sử dụng phong cách này, trừ phi nó giúp làm cho code dễ nhìn hơn.

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