簡體   English   中英

警告:傳遞'strcpy'的參數2使得整數指針沒有強制轉換[-Wint-conversion] |

[英]warning: passing argument 2 of 'strcpy' makes pointer from integer without a cast [-Wint-conversion]|

我嘗試聲明char但它不起作用。 為什么輸出沒有出現? 每次我完成插入輸入程序崩潰。它顯示(注意:期望'const char *',但參數的類型'int'|)也(警告:傳遞'strcpy'的參數2使整數的指針沒有強制轉換[-Wint轉換] |)。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/**Functions**/
void info();
void mark();
void grade();
void report();

/**Variables**/
char stdID[15][20];
char subj[20][20];
char stdgrade[30][20];
int stdMark[30];
int subjTaken[30];


void mark()
{
    printf("Enter subject taken : ");
    scanf("%d", &subjTaken[i]);

    for(j=0;j<subjTaken[i]; j++)
    {
        printf("\nEnter subject : ");
        scanf("%s", &subj[j]);

        printf("Mark for the subject : ");
        scanf("%d", &stdMark[j]);
        grade();
    }
}
void grade()
{
        if((stdMark[i]=0)&&(stdMark[i]<=39))
            {
               strcpy(stdgrade[i],'G');
            }
            else if(stdMark[i]<45)
            {
                strcpy(stdgrade[i], 'E');
            }
            else if(stdMark[i]<50)
            {
                strcpy(stdgrade[i], 'D');
            }
            else if(stdMark[i]<55)
            {
                strcpy(stdgrade[i], 'C');
            }
            else if(stdMark[i]<60)
            {
                strcpy(stdgrade[i], 'C+');
            }
            else if(stdMark[i]<65)
            {
                strcpy(stdgrade[i], 'B');
            }
            else if(stdMark[i]<70)
            {
                strcpy(stdgrade[i], 'B+');
            }
            else if(stdMark[i]<80)
            {
                strcpy(stdgrade[i], 'A-');
            }
            else if(stdMark[i]<90)
            {
                strcpy(stdgrade[i], 'A');
            }
            else if (stdMark[i]<=100)
            {
                strcpy(stdgrade[i],'A+');
            }

}

用雙引號創建第二個參數。 'G'是一個字符(數字),其中“G”是一個字符串(一個字符數組)。 函數strcpy不會自動將字符轉換為字符串。

如此strcpy(stdgrade [i],'G'); 應該是strcpy(stdgrade [i],“G”);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM