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

Đề tài: Lỗi trong khi in chuỗi

  1. #1
    Ngày gia nhập
    09 2011
    Bài viết
    0

    Mặc định Lỗi trong khi in chuỗi

    Em đang làm một bài, nhập 1 chuỗi vào rồi in ra ngược lại. Nhưng không hiểu tại sao lại không in ra được.
    Code dưới đây, mong anh chị em giúp em ạ. Em xin chân thành cảm ơn.

    Code:
    #include "stdio.h"
    #include "conio.h"
    #include <string.h>
    
    main()
    {
        char c[50];
        int a,b,i,j;
        printf("\n Nhap chuoi C ");
        gets(c);
        b=strlen(c);
        printf("\n %d", b);
        for(i=b;i>0;i--)
        {
            printf("\n %s", c[i]);
        }
        getch();
    }

  2. #2
    Ngày gia nhập
    11 2010
    Nơi ở
    hell
    Bài viết
    165

    Trích dẫn Nguyên bản được gửi bởi qwerty68 Xem bài viết
    Em đang làm một bài, nhập 1 chuỗi vào rồi in ra ngược lại. Nhưng không hiểu tại sao lại không in ra được.
    Code dưới đây, mong anh chị em giúp em ạ. Em xin chân thành cảm ơn.

    Code:
    #include "stdio.h"
    #include "conio.h"
    #include <string.h>
    
    main()
    {
        char c[50];
        int a,b,i,j;
        printf("\n Nhap chuoi C ");
        gets(c);
        b=strlen(c);
        printf("\n %d", b);
        for(i=b;i>0;i--)
        {
            printf("\n %s", c[i]);      <==== %c bạn ui
        }
        getch();
    }

    sửa lại ngen hehe
    ktra lại kỹ càng ngen

  3. #3
    Ngày gia nhập
    09 2011
    Bài viết
    0

    Cảm ơn bạn nhé, mình mới đang tự học nên không rõ. Merci.

  4. #4
    Ngày gia nhập
    02 2010
    Bài viết
    113

    ngoài ý ở trên, út nghĩ code trên sẽ in ra sai!!! chỗ này
    C Code:
    1. for(i=b;i>0;i--)

  5. #5
    Ngày gia nhập
    03 2011
    Nơi ở
    Bình Dương, Hồ Chí Minh
    Bài viết
    392

    Trích dẫn Nguyên bản được gửi bởi qwerty68 Xem bài viết
    Em đang làm một bài, nhập 1 chuỗi vào rồi in ra ngược lại. Nhưng không hiểu tại sao lại không in ra được.
    Code dưới đây, mong anh chị em giúp em ạ. Em xin chân thành cảm ơn.

    Code:
    #include "stdio.h"
    #include "conio.h"
    #include <string.h>
    
    main()
    {
        char c[50];
        int a,b,i,j;
        printf("\n Nhap chuoi C ");
        gets(c);
        b=strlen(c);
        printf("\n %d", b);
        for(i=b;i>0;i--)
        {
            printf("\n %s", c[i]);
        }
        getch();
    }
    chuỗi có độ dài là b => các phần tử nó là từ c[0]->c[b-1] (chỉ b-1 thôi nhé)
    điều kiện trong for, i phài là i>=0 (nếu không phần tử a[0] sẽ bị bỏ qua)

    C Code:
    1. void main()
    2. {
    3.     char c[50];
    4.     int a,b,i,j;
    5.     printf("\n Nhap chuoi C ");
    6.     gets(c);
    7.     b=strlen(c);
    8.     printf("\n%d\n", b);
    9.     for(i=b-1;i>=0;i--)
    10.     {
    11.         printf("%c", c[i]);
    12.     }
    13.     getch();
    14. }

  6. #6
    Ngày gia nhập
    11 2010
    Bài viết
    49

    Mặc định Lỗi trong khi in chuỗi

    Trích dẫn Nguyên bản được gửi bởi treatmaster Xem bài viết
    sửa lại ngen hehe
    ktra lại kỹ càng ngen
    Cái này thì mình không đồng ý. %s là một chuổi mà 1 kí tự cũng được gọi là 1 chuổi với độ dài = 1 vậy %s hoặc %c đều được

  7. #7
    Ngày gia nhập
    04 2010
    Bài viết
    1,534

    Trích dẫn Nguyên bản được gửi bởi ghost.love Xem bài viết
    Cái này thì mình không đồng ý. %s là một chuổi mà 1 kí tự cũng được gọi là 1 chuổi với độ dài = 1 vậy %s hoặc %c đều được
    1 kí tự cũng được gọi là 1 chuổi với độ dài = 1 : siêu quá, miễn bàn

    Khi gặp %s, hàm printf muốn tham số dạng con trỏ char (*char), tham số ký tự không phải là con trỏ char. Nếu in được thì chỉ là may mắn. Code vẫn sai từ căn bản.

  8. #8
    Ngày gia nhập
    02 2010
    Bài viết
    113

    VTS có thể nói rõ hơn về vấn đề này hok?
    út cứ thấy kí tự là %c, còn chuỗi là %s àh @@

  9. #9
    Ngày gia nhập
    12 2010
    Nơi ở
    Cần thơ
    Bài viết
    273

    Trích dẫn Nguyên bản được gửi bởi utkung_91 Xem bài viết
    VTS có thể nói rõ hơn về vấn đề này hok?
    út cứ thấy kí tự là %c, còn chuỗi là %s àh @@
    Kí tự đơn thuần là 1 biến kiểu char (1byte)
    còn chuổi là 1 con trỏ kiểu char...
    hình như là zi
    Ai bất tài, tôi nhìn hoài chẳng thấy,
    Đi khắp phòng tôi lấy 1 tấm gương,
    Khẽ đặt lên một góc phía bức tường,
    Nhìn vào đó, tôi tận tường kẻ đó.

  10. #10
    Ngày gia nhập
    04 2010
    Bài viết
    1,534

    Trích dẫn Nguyên bản được gửi bởi utkung_91 Xem bài viết
    VTS có thể nói rõ hơn về vấn đề này hok?
    út cứ thấy kí tự là %c, còn chuỗi là %s àh @@
    Nói chuyện về %s và %c trong ngữ cảnh của hàm printf :

    Hàm printf là một hàm tiêu chuẩn trong thư viện C. Tiêu chuẩn này xác định rằng hàm có thể dùng tham sô đầu tiên là một chuỗi chứa mặc định dạng in ra của các tham số còn lại.

    vd
    printf("\n %s", c); ====> "\n %s" là chuỗi mặc định dạng in ra cho tham số c

    Theo tiêu chuẩn này thì dạng mặc định %c là một ký tự (loại char) và dạng mặc định %s là một chuỗi.
    Đọc trong chuỗi định dạng thấy %c thì printf cho rằng tham số tương ứng phải ở dạng ký tự.
    Đọc trong chuỗi định dạng thấy %s thì printf cho rằng tham sô tương ứng phải ở dạng chuỗi (tức là con tró ký tự)

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

  1. Lập trình C Thay thế chuỗi s1 trong chuỗi s bằng chuỗi s
    Gửi bởi duytue trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 7
    Bài viết cuối: 23-09-2011, 04:16 PM
  2. thay thế chuỗi con thứ i trong chuỗi mẹ bằng 1 chuỗi khác
    Gửi bởi nhat1811 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 06-08-2011, 08:25 AM
  3. Trả lời: 1
    Bài viết cuối: 29-06-2011, 12:02 AM
  4. Trả lời: 7
    Bài viết cuối: 21-03-2011, 09:59 PM
  5. xem một từ trong chuỗi là một chuỗi con, sắp xếp các chuỗi con theo thứ tự tăng dần
    Gửi bởi qpkdct1101 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 0
    Bài viết cuối: 20-01-2011, 08:22 AM

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