Announcement

Collapse
No announcement yet.

Lỗi Access Violation trong C

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Lỗi Access Violation trong C

    Đoạn code của em thế này:
    PHP Code:
    #include<stdio.h>
    #include<conio.h>
    void main()
    {
        
    int c,m,s,d,t,t1,t2;
       
    printf("Nhap vao chi so cu: ");
       
    scanf("%d",c);
       
    printf("Nhap vao chi so moi: \n");
       
    scanf("%d",m);
       
    printf("Chi so cu la: %d\n",c);
       
    printf("Chi so moi la: %d\n",m);
       
    s=m-c;
       
    d=s-50;
       if(
    d<=0)
           {
          
    t1=s*230;
          
    t2=0;
          
    t=t1+t2;
          }
       else if(
    d<=50)
           {
          
    t1=50*230;
          
    t2=480*(d-50);
          
    t=t1+t1;
          }
       else if(
    d<=100)
           {
          
    t1=50*230;
          
    t2=480*50+700*(d-50);
          
    t=t1+t2;
          }
       else
           {
          
    t1=50*230;
          
    t2=480*50+700*50+900*(d-100);
          
    t=t1+t2;
          }
       
    printf("Tong tien trong dinh muc la: %d\n",t1);
       
    printf("Tong tien vuot dinh muc la: %d\n",t2);
       
    printf("Tong tien phai tra la: %d+%d+1000=%d",t1,t2,t);
       
    getch();

    Em chạy chương trình thành công, nó không báo lỗi nhưng nó chỉ cho nhập vào cái biến đầu xong không chạy nữa và xuất hiện thông báo
    lôiC.jpg
    Pro nào gặp lỗi này thì giúp em fix nó với ạ

  • #2
    Originally posted by keens0n View Post
    printf("Nhap vao chi so cu: ");
    scanf("%d",c);
    printf("Nhap vao chi so moi: \n");
    scanf("%d",m);
    bạn thiếu & trong lệnh scanf, bạn quên truyền địa chỉ nhập cho biến....
    printf("Nhap vao chi so cu: ");
    scanf("%d",&c);
    printf("Nhap vao chi so moi: \n");
    scanf("%d",&m);
    University of Information Technology - VNU HCM
    Student of Faculty of Computer Engineering
    Email : truong.ngohieu@gmail.com
    Tel : 0962 306 517

    Comment


    • #3
      Access Violation
      Lỗi này là lỗi truy cập vào vùng nhớ bất hợp lệ... lỗi ám ảnh nhất với mình khi code chương trình :cry:. Cụ thể trong trường hợp của bạn cái lệnh scanf của bạn nó sẽ truy cập vào vùng nhớ có giá trị được lưu trong biến c (giá trị này không phải là địa chỉ của c) => gây lỗi. Ví dụ c= 10, trong khi địa chỉ của c là 0x01. Lệnh của bạn sẽ truy xuất tới vùng nhớ có địa chỉ là 0x0a ==> lỗi truy xuất bất hợp lệ
      Một khẩu súng giữ hai trời Nam Bắc,
      Một dấu chân in màu đất hai miền.

      ------------------------------------------------------

      Comment

      LHQC

      Collapse
      Working...
      X