C語言錯誤 直接複製有什麼問題?

發布 科技 2024-06-02
11個回答
  1. 匿名使用者2024-01-29

    printf("letter:%d,digit:%d,space:%d,others:%d",letter,digit,space,others);

    這句話後面應該有乙個 return 語句。

    else if (strcmp(str[i],''==0)也有故障。你把它和書比較,你寫錯了嗎?

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

    strcmp() 函式可以採用以下形式使用:

    int strcmp(const char* str1, const char* str2);

    把else if (strcmp(str[i],'')==0)

    更改為 else if (str[i]==' ') 來執行此操作。

    程式如下:包括""

    #include

    int letter,digit,space,others;

    int main()

    int count(char str)

    char text[80];

    gets(text);

    letter=0,digit=0,space=0,others=0;

    count(text);

    printf("letter:%d,digit:%d,space:%d,others:%d",letter,digit,space,others);

    int count(char str)

    int i;

    for(i=0;str[i]!='\0';i++)

    if((str[i]>='a'&&str[i]<='z')||str[i]>='a'&&str[i]<='z'))

    letter++;

    else if (str[i]>='0'&&str[i]<='9')

    digit++;

    else if (str[i]==' ')

    space++;

    else others++;

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

    首先,讓我們用這種 C 語言回答錯誤的原因:

    第乙個 gets 是未定義的:

    出現此錯誤通常是因為未包含相應的標頭檔案,或者庫沒有此功能。 這裡不應該有這樣的功能。 gets(char *dest) 是乙個舊的庫函式,使用這個函式存在安全風險。

    它只有乙個引數,如果輸入的字元數超過dext記憶體空間中的字元數,程式可能會失敗,或者黑客可能會利用此漏洞進行異常操作。 你可以改用 fgets(char *dest, int size, file *fp),這可以通過使用第二個引數設定最大輸入來解決上述問題。

    後三個 strcat 引數 2 型別不匹配:

    strcat 的第二個引數在語言 char * 中,呼叫時 jiji[i] 是 char,可以寫成 &jiji[i],改語法後沒有問題,邏輯要自己評估。

    第四個返回區域性變數 re:

    rE 是 LAI 函式內部的乙個陣列,在堆疊中,當函式執行時,它會釋放資源。 堆疊中的空間可能會在其他地方使用,並且內容可能會被更改。 建議不要返回區域性變數。

    這就是這個語法錯誤的答案。

    新增附加

    總體來說,這個****比較長,for迴圈比較多,後面會優化一下。 先實現功能,再優化。 這是您可以參考的**。

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

    您的編譯器版本是新的,在 C11 中刪除了 gets 函式,並且不再有此函式。

    jiji[i] 的型別是 char,strcat 的第二個引數應該是 const char*,當然不是。

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

    我已經為你完成了對你的C語言程式的修改,所以看看吧(有很多變化,所以你自己和原來的程式比較一下)。

    #include

    #include

    #define n 100

    #define s 101

    #define z 26

    char lai(int i),k,j,ch;

    char s[s][n]=,r[s][n]=,b[2]=;

    scanf("%d",&n);

    for(i=0;iscanf("%s",s[i]);

    for(i=0;ifor(k=0;s[i][k]!=0';k++)else if(ji[j][i]==1){

    b[0]=lai(i);

    strcat(r[j],b);

    for(i=0;iprintf("%s",r[i]);

    return 0;

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

    求三角形每個角的度數的公式缺少分母的括號,其餘的都是正確的。

    完整的 C 程式<>如下(注意公式中分母中的括號)。

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

    nan 是的"not a number",即計算結果不是數字。

    Ind 是 Indedefinite 的縮寫,即無法確定它是什麼。

    諸如負數的平方、負數的對數、除以、乘以無窮大、除以無窮大等錯誤都會得到它。

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

    你是乙個數學問題,而不是乙個程式設計問題

    余弦公式為

    cosa=(b*b+c*c+a*a)/(2*b*c)

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

    十進位溢位無法表示,所以讓我們先看一下 cosa,b,c 的輸出。

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

    【錯誤】ld returned 1 退出狀態是放在 main 函式之外的函式宣告,宣告是 FAC 函式,但是使用時寫成 F,所以結果不正確。

    可能原因:1 黑匣子在執行嗎?

    2 main有問題嗎?

    解決方法:1、如果背景中已經有黑框再執行,則結束黑框;

    2.如果沒有黑眼圈,可能是main函式有問題,可以檢查函式的定義是否寫入main函式中。

    #include

    float count(int a, int b, int c, float x);

    int main(void)

    int a = 0, b=0, c = 0;

    float x = 0, y =0;

    printf("請按順序輸入三元方程的係數 a、b 和 c x; 係數和 x 用空格鍵分隔:");

    printf("%f", count(a, b, c, x));

    *以下函式定義寫入 main 函式,並報錯資訊:[error] ld returned 1 exit status*

    float count(int a, int b, int c, float x)

    float y = 0;

    y = a*x*x*x+b*x*x+c;

    return y;

    return 0;

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

    1.您定義的陣列的大小僅為 10 個數字。

    如果找不到 x,則將 x 新增到陣列中,這將導致陣列越界。

    2。在加法的過程中,你直接給指標p賦值x,這是不對的,p只接收位址,不接收值。

    它只是將陣列 w 的第乙個位址傳遞給 p,而不是將整個陣列傳遞給 p。

    4。不要在迴圈中使用 printf 語句,因為它很容易導致迴圈一次列印語句。

    這不是想要的結果,你可以在迴圈中,在if語句中標記它。

    然後將 print 語句寫在迴圈之外。

    #include

    #definesize

    定義了較大的陣列,以便稍後新增的數字不容易越線。

    voidmain(),p,x,flag=0,count=0,n=10;

    printf("請輸入您要查詢的號碼:")

    scanf("%d",&x);

    for(p=w;p 使用指標作為迴圈條件,n 是初始化陣列的數量。

    if(flag==0)

    這裡是判斷是否找到,1是找到的,0是沒有找到的。

    elseprintf("%d 出現在陣列中的 %d 位置。 ",x,count);

相關回答
12個回答2024-06-02

PE 格式錯誤。

RE執行錯誤一般是執行過程中的記憶體溢位,數值超過上下限,時間到期,演算法需要優化。 >>>More

11個回答2024-06-02

資料顯示,自2005年人民幣匯率改革以來,人民幣兌美元公升值了30左右,而同期美國的失業率從7上公升到9以上。 >>>More

6個回答2024-06-02

這是乙個唯讀變數,根本不是常量,輸出只是因為 consult 宣告的變數是由編譯器巨集定義的。 你可以用 gcc 來檢視編譯生成的編譯**,結果很明顯。

16個回答2024-06-02

C 標準不輸出二進位檔案,而是使用 itoa()。 >>>More

13個回答2024-06-02

#include

#define n 100 >>>More