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

Đề tài: Sửa lỗi cấu trúc liên kiết..

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

    Mặc định Sửa lỗi cấu trúc liên kiết..

    Các bạn cho mình hỏi về ý nghĩa của return 0;
    và chương trình hoàn thiện của mình này, chạy được, kết quả đúng, nhưng chạy xong thì phần biên dịch báo là: ABC.exe has stoped working. Là sao hả các bạn?


    Code:
    //xay dung cau truc lien ket hang hang doi sinh vien.
    #include<stdio.h>
    #include<conio.h>
    #include<stdlib.h>
    #include<string.h>
    typedef struct sinhvien
        {
         char hoten[30];
         int tuoi;
         sinhvien *tiep;
        }sv;
        
    main()
    {
          sv *p,*pdau;
          int i=1;
          char ht[30];
          p=NULL;
          pdau=NULL;
          while (1)
          {
            printf("\nNhap danh sach ten, tuoi cua cac sinh vien vao: ");
            printf("\nTen sinh vien %d: ",i++); 
            fflush(stdin);   
            gets(ht); 
            if(ht[0]=='\0') break;
            
                          
            if(pdau==NULL)
                 {p=(sv *)malloc(sizeof(sv));
                 pdau=p;}
            else
                {p->tiep=(sv *)malloc(sizeof(sv));
                p=p->tiep;}
            strcpy(p->hoten,ht);
            printf("\nTuoi: ");
            scanf("%d",&p->tuoi);
            p->tiep==NULL;
            
          };
          printf("\nHien thi cau truc minh vua nhap: ");
          p=pdau;
          while(p!=NULL)
          {
           
           printf("\nten: %s  | Tuoi: %d",p->hoten,p->tuoi);
           p=p->tiep;                
          }
          
    getch();      
    }

  2. #2
    Ngày gia nhập
    06 2011
    Bài viết
    7

    Thấy bạn lập trình C cấp phát vùng nhớ cho con trỏ mà không hủy là rất nguy hiểm ,chương trình mà chạy nhiều sẽ bị treo.
    Còn return 0 thì nó trả về giá trị 0 sau khi hàm chạy xong thôi ,cũng như trả về các giá trị bình thường khác thôi.

  3. #3
    Ngày gia nhập
    09 2012
    Nơi ở
    Computer\Local Disk (C)\Windown\System32\Recover
    Bài viết
    6

    Trích dẫn Nguyên bản được gửi bởi conga2012 Xem bài viết
    Các bạn cho mình hỏi về ý nghĩa của return 0;
    và chương trình hoàn thiện của mình này, chạy được, kết quả đúng, nhưng chạy xong thì phần biên dịch báo là: ABC.exe has stoped working. Là sao hả các bạn?


    Code:
    //xay dung cau truc lien ket hang hang doi sinh vien.
    #include<stdio.h>
    #include<conio.h>
    #include<stdlib.h>
    #include<string.h>
    typedef struct sinhvien
        {
         char hoten[30];
         int tuoi;
         sinhvien *tiep;
        }sv;
        
    main()
    {
          sv *p,*pdau;
          int i=1;
          char ht[30];
          p=NULL;
          pdau=NULL;
          while (1)
          {
            printf("\nNhap danh sach ten, tuoi cua cac sinh vien vao: ");
            printf("\nTen sinh vien %d: ",i++); 
            fflush(stdin);   
            gets(ht); 
            if(ht[0]=='\0') break;
            
                          
            if(pdau==NULL)
                 {p=(sv *)malloc(sizeof(sv));
                 pdau=p;}
            else
                {p->tiep=(sv *)malloc(sizeof(sv));
                p=p->tiep;}
            strcpy(p->hoten,ht);
            printf("\nTuoi: ");
            scanf("%d",&p->tuoi);
            p->tiep==NULL;
            
          };
          printf("\nHien thi cau truc minh vua nhap: ");
          p=pdau;
          while(p!=NULL)
          {
           
           printf("\nten: %s  | Tuoi: %d",p->hoten,p->tuoi);
           p=p->tiep;                
          }
          
    getch();      
    }
    mình chưa chạy code của b, nhưng trước tiên mình thấy bạn sẽ không bao giờ chạy dc chương trình vì ban dám để if(ht[0] = NULL) break; thật ngây ngô đấy b à. vi ban đầu chương trình của b chưa có dũ liệu nên n sẽ mặc đinh kết thúc luôn, thân ái !

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

    Trích dẫn Nguyên bản được gửi bởi nguyendo94nd Xem bài viết
    mình chưa chạy code của b, nhưng trước tiên mình thấy bạn sẽ không bao giờ chạy dc chương trình vì ban dám để if(ht[0] = NULL) break; thật ngây ngô đấy b à. vi ban đầu chương trình của b chưa có dũ liệu nên n sẽ mặc đinh kết thúc luôn, thân ái !
    Bạn vội vàng kết luận quá. Nó chỉ kết thúc chương trình khi ta không nhập họ tên thui, còn nếu nhập họ tên vào thì ht[0] làm sao bằng 0 được mà break. Mà không nhập dữ liệu vào thì break chứ để treo máy à.

  5. #5
    Ngày gia nhập
    09 2012
    Nơi ở
    Computer\Local Disk (C)\Windown\System32\Recover
    Bài viết
    6

    Trích dẫn Nguyên bản được gửi bởi conga2012 Xem bài viết
    Bạn vội vàng kết luận quá. Nó chỉ kết thúc chương trình khi ta không nhập họ tên thui, còn nếu nhập họ tên vào thì ht[0] làm sao bằng 0 được mà break. Mà không nhập dữ liệu vào thì break chứ để treo máy à.
    b quên struct dòng 9, hì

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

  1. Lý thuyết giải thuật kích thước của một cấu trúc thay đổi liên tục nay
    Gửi bởi dungc13 trong diễn đàn Thắc mắc CTDL & Giải thuật
    Trả lời: 8
    Bài viết cuối: 24-04-2012, 03:20 PM
  2. Bài tập về cấu trúc cây và danh sách liên kết
    Gửi bởi eternalsaga1 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 0
    Bài viết cuối: 19-04-2011, 08:12 AM
  3. kiến trúc và tỏ chức máy tính
    Gửi bởi thu.uct trong diễn đàn Thắc mắc chung
    Trả lời: 2
    Bài viết cuối: 29-09-2010, 06:35 PM
  4. Mình cần tài tiệu về kiến trúc MVC
    Gửi bởi jetli88 trong diễn đàn Công cụ, ebooks C#, ASP.NET, và Windows Mobile
    Trả lời: 3
    Bài viết cuối: 06-04-2008, 09:57 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