程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> vs c語言小白-VS編譯沒問題,生成的文件執行就出錯

vs c語言小白-VS編譯沒問題,生成的文件執行就出錯

編輯:編程綜合問答
VS編譯沒問題,生成的文件執行就出錯

#include
#include
typedef struct lNode
{
int xi;
int zhi;
struct lNode *next;
}*Lnode;//多項式節點
typedef struct
{
Lnode head;
int length;
}*Linklist;

/*-------------------------------------多項式相加主要函數的實現--------------------------*/

int InitList(Linklist &L)
//建立一個空的多項式
{
L = (Linklist)malloc(sizeof(Linklist));
if (L == NULL)return ERROR;
L->head = NULL;
L->length = 0;
return OK;
}
#include"標頭.h"

void main()
{
int m = 0;
Linklist La = NULL;
printf("請輸入多項式La的項數:");
scanf_s("%d", &m);
int result = 0;
Lnode P =NULL;
result = InitList(La);
if (result)
for (int i = 1; i <= m; i++)
{
int x, y;
P = (Lnode)malloc(sizeof(Lnode));

        printf("請依次輸入系數和指數:");
        scanf_s("%d%d", &x, &y);
        P->xi = x; P->zhi = y;
        Lnode D = La->head;
        if (i == 1)
        {
            P->next = D;
            La->head = P;
            (La->length)++;
        }break;
        for (int j = 2; j <i; j++)
        {
            D = D->next;
        }
        P->next = D->next;
        D->next = P;
        (La->length) += 1;  break;
    }



system("pause");

}
輸入x和y後就顯示停止工作,但調試卻沒問題

最佳回答:


1、有兩個break使用錯誤; 沒看出來你要干什麼用,執行到這就退出了。
2、
L = (Linklist)malloc(sizeof(Linklist));
P = (Lnode)malloc(sizeof(Lnode));
一般是:
P = (Lnode)malloc(sizeof(lNode));
求結構體的字節數,返回指針,很少求指針的字節數的。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved