错误C2440:'=':无法从'int'转换为'char [5]'

hon*_*ext 1 c c++ visual-studio-2008

错误C2440:'=':无法从'int'转换为'char [5]'帮帮我)

    char type[5];
    switch (rec[n-1].recptr->qtype)
    {
        case 'p':type='pcs'; break; //here is problem
        case 'm':type='kgs'; break; // and here is too
        default: printf("incorrect code");break;
    }
Run Code Online (Sandbox Code Playgroud)

Joh*_*ica 5

首先,字符串是双引号",而不是单引号'.其次,要分配给char[]数组,您必须使用类似的函数strcpy().您不能直接分配给数组=.

case 'p': strcpy(type, "pcs"); break;
case 'm': strcpy(type, "kgs"); break;
Run Code Online (Sandbox Code Playgroud)