Từ 1 tới 6 trên tổng số 6 kết quả

Đề tài: Lập trình C | Tác dụng và cách sử dụng hàm printf?

  1. #1
    Ngày gia nhập
    04 2007
    Bài viết
    1

    Mặc định Lập trình C | Tác dụng và cách sử dụng hàm printf?

    Các bác cho em hỏi với!

    Có đoạn code thế này
    PHP Code:
    #include <stdio.h>

    void main()
    {

        
    int n 10;

        
    printf("abc")||printf("def");//1

        
    printf("\n");

        
    printf("abc")&&printf("def");//2


    Tại sao dong 1 in ra "abc" còn dòng 2 lại in ra "abcdef"?
    Đã được chỉnh sửa lần cuối bởi langman : 10-04-2009 lúc 10:07 AM.

  2. #2
    Ngày gia nhập
    03 2008
    Bài viết
    8

    hàm printf có giá trị trả về kiểu số nguyên.In thành công thì trả về 1

    dòng 1:phép hoặc.vì printf("abc") trả về 1 nên không cần xem đến printf("def")
    dòng 2: phép và:Cả 2 printf đều trả về 1 nên in cả 2
    ....!!!!!!

  3. #3
    Ngày gia nhập
    01 2009
    Nơi ở
    Hà Nội
    Bài viết
    205

    Nói như vậy hình như chưa ổn lắm. Nếu mình nhớ không lầm thì hàm printf() cũng có giá trị trả về như các hàm khác và giá trị mà nó nhận được không phải là 1 hay là 0 gì hết. Giá trị của nó chính là số ký tự mà nó in ra.

    Vậy thì mình thử giải thích xem có hợp lý không nhé:
    - printf("abc")||printf("def"); --> máy sẽ dịch ra là : 3||3 --> đầy đủ hơn: (3!=0)||(3!=0) --> máy kiểm tra BT logic đầu tiên của phép hoặc thấy đúng --> ko kiểm tra thằng còn lại (vì là phép hoặc mà)

    - printf("abc")&&printf("def"); --> tương tự nhưng là phép và nên in ra cả 2.

    Lưu ý: 1 điều khá thú vị về lệnh printf() này là nếu máy không chạy đến thì thôi (ko kiểm tra đến) chứ nếu máy KT đến thì dù kết quả là đúng hay sai thì máy vẫn sẽ in ra màn hình nội dung của câu lệnh.

  4. #4
    Ngày gia nhập
    11 2008
    Bài viết
    116

    Trích dẫn Nguyên bản được gửi bởi blackrose_immortal Xem bài viết
    Các bác cho em hỏi với!

    Có đoạn code thế này
    PHP Code:
    #include <stdio.h>

    void main()
    {

        
    int n 10;

        
    printf("abc")||printf("def");//1

        
    printf("\n");

        
    printf("abc")&&printf("def");//2


    Tại sao dong 1 in ra "abc" còn dòng 2 lại in ra "abcdef"?
    Bạn viết rất tường minh mà.
    PHP Code:
        printf("abc")||printf("def");//1 
    có nghĩa là in ra "abc" HOẶC "def". Bạn đọc kĩ là chữ HOẶC nhé.
    PHP Code:
    printf("abc")&&printf("def");//2 
    có nghĩa là in ra "abc" VÀ "def". Bạn đọc kĩ là chữ VÀ nhé.

  5. #5
    Ngày gia nhập
    08 2008
    Nơi ở
    ha noi
    Bài viết
    79

    trubavuong nói đúng đó lần trước mình cug gặp 1 bài toán vui do a trưởng nhóm đố đề bài như sau thêm câu điều kiện vào để in ra chữ Mr.Cool
    Code:
    #include "stido.h"
    #include "conio.h"
    void main(void)
                 {
                        clrscr();
                        if(...)  printf("Cool");
                        getch();
                 }
    lúc đầu mình nghĩ mãi ko ra mãi sau nghe giải thích thì mới biết hàm printf cũng trả về giá trị chỉ cần sửa là
    Code:
    if(printf("Mr.")!=0) <==> 2!=0
    là xog :(

  6. #6
    Ngày gia nhập
    04 2009
    Bài viết
    68

    Mặc định Lập trình C | Tác dụng và cách sử dụng hàm printf?

    ola la h mới biết nhé

Các đề tài tương tự

  1. Vấn đề về hàm printf()
    Gửi bởi chenyueying trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 3
    Bài viết cuối: 15-06-2012, 07:56 AM
  2. Lập trình C hàm cơ bản-hàm printf có tác dụng gì?
    Gửi bởi ganhim trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 33
    Bài viết cuối: 12-08-2010, 02:10 PM
  3. Kỹ thuật C Vấn đề với scanf() và printf()
    Gửi bởi new trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 6
    Bài viết cuối: 15-05-2010, 08:10 PM
  4. Hàm printf...
    Gửi bởi kul_b0y0512 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 9
    Bài viết cuối: 28-04-2010, 09:45 AM
  5. Lỗi cơ bản ! (scanf, printf)
    Gửi bởi huyvn trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 10
    Bài viết cuối: 06-04-2008, 07:25 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn