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 6 của 6

Chủ đề: Toán tử ++a, a++

  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Toán tử ++a, a++

    Mình gặp đề bài như saucác bạn cũng chỉ cần quan tâm đến điểm cốt lõi của chương trình, và không quá chú trọng vào cú pháp của C)
    Chương trình sẽ in ra kết quả bao nhiêu
    main()
    {
    int a=10;
    printf("%d %d %d",a,a++,++a);
    }
    Theo như mình được học thì các biến c, a++, ++a sẽ được truyền lần lượt, tương ứng với 3 đặc tả. Vậy mình nghĩ sẽ ra kết quả 10,11,11. Nhưng đề bài cho chọn những đáp án lại không có phương án lựa chọn như vậy.
    Mình mong các bạn góp ý hướng suy nghĩ cho mình.
    Mình cảm ơn !

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    đập vào mặt thằng nào cho cái đề như vậy C/C++ mà xài a/++a/a++ trong cùng 1 statement thì tùy trình dịch nó thích tính cái nào trước thì nó tính. Câu trả lời là bó tay ko trả lời được. Chắc chắn là phải có đáp án này.

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trong 4 đáp án mà đề bài đưa ra lại không nói rõ trên trình biên dịch nào.
    Mình cảm ơn bạn INTP đã góp ý cho mình

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Theo mình nghĩ nó sẽ in ra 3 giá trị giống nhau. a + 2

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Theo bạn thì nó thực hiện printf trước hay là a++, ++a trước ?
    - Nó sẽ ưu tiên thực hiện phép tính a++ = 11 , rồi tới ++a = 12
    rồi sau đó nó mới printf ra ngoài màn hình tương ứng với từng định dạng

    Bạn có thể tham khảo thêm về ngôn ngữ C :



  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Theo mình nó sẽ thực hiện a++, ++a trước tiên. cái này tương tự như thự hiện phép toán. Hàm printf nhận kết quả cuối cùng sau khi tính toán nên in ra cả 3 cái là (a + 2)

    Mã:
    int a = 5;int b  = a++ + ++a + a;
    ví dụ trên cho kết quả khá bất ngờ đó

 

 

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
  •