C、程式問題、C程式問題初學者?

發布 科技 2024-02-05
8個回答
  1. 匿名使用者2024-01-25

    從**本身和執行情況來看,可執行程式的內容與貼上的**不匹配(可能是修改後沒有重新編譯,而修改前的**執行,否則不會**現在出現可以編譯傳遞的錯誤,例如第二行末尾有更多的“op”, 和“現有1人捐款無產出”),修改建議如圖所示:

  2. 匿名使用者2024-01-24

    **截圖,沒有截圖看起來像鬼,我只能猜測你的輸出語句是錯誤的。

  3. 匿名使用者2024-01-23

    sqrt 函式的錯誤發生是因為 sqrt 函式的引數要求是 double、float 或 long double,而你給出了 int 型別的引數,所以引數型別不匹配,變數 area 和 s 被定義為 double,所以 sqrt 函式的引數是 double, 並且不會有錯誤。

    查詢三角形面積的完整 C 過程如下(更改請參閱注釋),請注意,輸入的三條邊的整數值用逗號分隔。

    #include

    #include

    int main()

    int a,b,c;

    double area,s;在這裡,我們將 area 和 s 定義為 double。

    printf("請輸入 a、b、c 的值");

    scanf("%d,%d,%d",&a,&b,&c);

    s=(a+b+c)/;這裡將 2 更改為 type) area=sqrt(s*(s-a)*(s-b)*(s-c));

    printf("三角形的面積為 %lf",area);這裡輸出格式化程式"%d"更改為"%lf"

    return 0;

  4. 匿名使用者2024-01-22

    學習C語言取決於天賦。 我不怕打你,你沒有天賦。

  5. 匿名使用者2024-01-21

    輸出不是您預期的,因為您不了解引數傳遞的一些問題。

    有兩種方法可以傳遞引數。

    1。按值傳遞(你的程式使用這種方式)只傳遞當前值的副本(複製),函式中的所有更改都不會影響原始變數(你的程式是變數 i)。

    2。按引用傳遞,即按位址傳遞,是一種更改函式內部變數值的方法,並且會影響傳入的變數。

    inti=high; //i=

    5reset(i/2); //

    將 i 傳遞給函式 reset,然後傳遞 i 的副本,該副本可能成為 tmp i

    更改此值不會影響外部變數 i。

    printf("i=%d",i);

    所以這裡是輸出。

    5reset(i=i/2); //

    可以這樣寫:i=

    我 2、我值變了。

    等於 2,然後將 2 傳遞給函式,如上所述。

    最後 printf("i=%d",i);

    這裡的輸出是 i=

    2reset(i/2);

    同上,原件相同。

    2 將輸出如下

    printf("i=%d",i);

    workover(i);函式修整內部的 printf 輸出。

    0printf("i=%d",i);

    同上,i=2第一次給人講解,記得加點。

  6. 匿名使用者2024-01-20

    inti=high;//i=5

    reset(i/2);這裡傳遞的是值,而不是位址,所以函式對 i 所做的任何修改都對 main 函式沒有影響,所以 i=5

    printf("i=%d",i);

    reset(i=i/2);//i=i/2

    i 是乙個整數。 所以 i=2; 同樣,復位函式不能影響 main 函式中 i 的值,所以 i=2printf("i=%d",i);

    reset(i/2);與第乙個一樣,i 的值不會改變,重置不會影響 i=2; printf("i=%d",i);

    workover(i);同理,他不能改變 i 的值,所以下面的 i=2;此函式中有乙個 print 語句 (i%i),它始終等於 0,因此無論傳入什麼。

    列印值均為 0

    printf("i=%d",i);//i=2;

  7. 匿名使用者2024-01-19

    輸出 7 7 21 35 的奇數倍 ...

    5 的偶數倍顯然是 10、20、30......程式:

  8. 匿名使用者2024-01-18

    從您發布的程式碼片段中,我只可以看到列表是 struct node* 型別(struct 指標),其成員 elementtype 是 struct gongjiao 型別(struct 變數)。

    在你的 luru 函式中,使用的陣列變數 a 也應該是 struct gongjiao 型別,至於這個 a 在哪裡定義,我看不出來,那是全域性變數。

    從**的角度來看,L代表鍊表頭部或第乙個節點的節點,N代表鍊表末尾的節點,M是新建立的節點。 你先在main中新建2個節點,然後呼叫luru函式,雖然luru函式傳遞了引數m,但為m建立了乙個新位址,這意味著鍊表至少有2個節點沒有資料,不管有沒有資料(即使使用了head節點, 只有 1 個沒有資料的節點就足夠了)。另外,你的列印函式是沒有貼上的,按照正常的寫法,迴圈鍊表使用鍊表指標next==null來確定迴圈的結束,並且在建立鍊表的過程中,你沒有設定null到尾節點的指標(即 每次建立的 m->next 應給出初始值 null)。

    除非您不使用此指標作為條件。

相關回答
6個回答2024-02-05

總結。 讓我們從第乙個 while 函式開始,如果函式值不等於 -1,則可以執行下乙個函式。 >>>More

18個回答2024-02-05

此函式用於開啟指定檔案的預定義流:標準輸入、標準輸出或標準錯誤。 >>>More

14個回答2024-02-05

在 VisualStudio 2013 中編寫和除錯 C 語言程式的步驟: 1.開啟 [檔案] - 新建 - 專案以開啟“新建專案”視窗。2. 在[模板]、[名稱]、[位置]和[解決方案名稱]中選擇[Visual C++] Win32控制台應用程式,可以根據需要填寫。 >>>More

8個回答2024-02-05

將 struct、student 和 internal 元素定義為 age、num 陣列。 >>>More

3個回答2024-02-05

你這個是16,我可以用8位跟你解釋一下(原理是一樣的,我打起來更方便)。 >>>More