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 8 của 8
  1. #1
    Ngày tham gia
    Sep 2015
    Đang ở
    Hà Nội
    Bài viết
    0

    Hỏi về con trỏ trong xâu

    Mọi người cho em hỏi ở đoạn code sau tại sao khi in //ho ko thể in giống như q tức là

    printf("%s",p)
    Mã:
    #include <stdio.h>
    #include <conio.h>
    #include <string.h>
    main()
    {
        char xau[100],*p=xau,*q,*i;
        printf("Nhap : "),scanf("%[a-z ]",xau); // nhap vao "ho dem ten"
        while(*p!=' ') p++;
        q=xau+strlen(xau)-1;
        while(*q!=' ') q--;
        //viet
        printf("Xuat :%s",q); //ten
        for(i=p;i<=q;i++) printf("%c",*i); // dem
        for(i=xau;i<p;i++) printf("%c",*i); // ho
        getch();
    }

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi darkboys
    Chỗ nhập chuỗi.. Mình không biết có sai hay không, nhưng khi mình nhập chuỗi vào.. Nó không xuất Tên - Đệm - Họ mà nó xuất ra kí tự rác Nếu có gì sai, bạn bỏ qua nhé [IMG]images/smilies/smile.png[/IMG]
    ko có gì đâu bạn. Code kia ko nhập dk kí tự viết hoa đâu .hj [IMG]images/smilies/biggrin.png[/IMG]

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi utkunglt
    cái đó nhập chuỗi có dấu cách hoàn toàn sử dụng được ngen darkboys!!!
    còn về vấn đề của chủ thớt:
    út nói lại câu này: miền giá trị của 1 biến con trỏ là địa chỉ ô nhớ(*)
    có phải khi em nhập xong xâu: vd: nguyen van an
    roi sau đó vòng lặp thì khi đụng khoảng trắng có phải p lúc này chỉ còn : "van an" ko?
    (p++: nói cho dễ hiểu là lúc này e dịch con trỏ p lên,chú ý cái * bên trên)
    rồi xuống q:
    q=xau+strlen(xau)-1;
    tương tự nhu p lúc này q nó dịch xuống thì q có phải bằng "an" ko?
    tới đây chắc ok rồi!!!
    Em cảm ơn ạ [IMG]images/smilies/biggrin.png[/IMG][IMG]images/smilies/biggrin.png[/IMG][IMG]images/smilies/biggrin.png[/IMG][IMG]images/smilies/biggrin.png[/IMG][IMG]images/smilies/biggrin.png[/IMG][IMG]images/smilies/biggrin.png[/IMG][IMG]images/smilies/biggrin.png[/IMG][IMG]images/smilies/biggrin.png[/IMG][IMG]images/smilies/biggrin.png[/IMG][IMG]images/smilies/biggrin.png[/IMG][IMG]images/smilies/biggrin.png[/IMG][IMG]images/smilies/biggrin.png[/IMG][IMG]images/smilies/biggrin.png[/IMG][IMG]images/smilies/biggrin.png[/IMG][IMG]images/smilies/biggrin.png[/IMG][IMG]images/smilies/biggrin.png[/IMG][IMG]images/smilies/biggrin.png[/IMG][IMG]images/smilies/biggrin.png[/IMG]

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Hic.. lỗ hổng kiến thức của em rồi.. Cảm ơn mấy bác.. tại lúc em chạy thử code của bạn thớt là nhập cả chữ thường lẫn hoa [IMG]images/smilies/biggrin.png[/IMG]

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Sửa lại giùm bạn nè. Khi nhập chuỗi thì bạn xài hàm gets().


    Mã:
    #include <stdio.h>#include <string.h> int main(){    char xau[100],*p=xau,*q,*i;        printf("Nhap : ");    gets(xau); // nhap vao "ho dem ten"    while(*p!=' ')         p++;            q=xau+strlen(xau)-1;     while(*q!=' ')         q--;            //viet        printf("Xuat :%s",q); //ten    for(i=p;i<=q;i++)         printf("%c",*i); // dem    for(i=xau;i<p;i++)         printf("%c",*i); // ho            return 0;}

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi darkboys
    Sửa lại giùm bạn nè. Khi nhập chuỗi thì bạn xài hàm gets().


    Mã:
    #include <stdio.h>#include <string.h> int main(){    char xau[100],*p=xau,*q,*i;        printf("Nhap : ");    gets(xau); // nhap vao "ho dem ten"    while(*p!=' ')         p++;            q=xau+strlen(xau)-1;     while(*q!=' ')         q--;            //viet        printf("Xuat :%s",q); //ten    for(i=p;i<=q;i++)         printf("%c",*i); // dem    for(i=xau;i<p;i++)         printf("%c",*i); // ho            return 0;}
    Code nay co sai dau ma sua ha ban @@

  7. #7
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Chỗ nhập chuỗi.. Mình không biết có sai hay không, nhưng khi mình nhập chuỗi vào.. Nó không xuất Tên - Đệm - Họ mà nó xuất ra kí tự rác Nếu có gì sai, bạn bỏ qua nhé [IMG]images/smilies/smile.png[/IMG]

  8. #8
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi darkboys
    Chỗ nhập chuỗi.. Mình không biết có sai hay không, nhưng khi mình nhập chuỗi vào.. Nó không xuất Tên - Đệm - Họ mà nó xuất ra kí tự rác Nếu có gì sai, bạn bỏ qua nhé [IMG]images/smilies/smile.png[/IMG]
    cái đó nhập chuỗi có dấu cách hoàn toàn sử dụng được ngen darkboys!!!
    còn về vấn đề của chủ thớt:
    út nói lại câu này: miền giá trị của 1 biến con trỏ là địa chỉ ô nhớ(*)
    có phải khi em nhập xong xâu: vd: nguyen van an
    roi sau đó vòng lặp thì khi đụng khoảng trắng có phải p lúc này chỉ còn : "van an" ko?
    (p++: nói cho dễ hiểu là lúc này e dịch con trỏ p lên,chú ý cái * bên trên)
    rồi xuống q:
    q=xau+strlen(xau)-1;
    tương tự nhu p lúc này q nó dịch xuống thì q có phải bằng "an" ko?
    tới đây chắc ok rồi!!!

 

 

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
  •