"错误:流浪' \ 342' "," stray' \ 200' "," stray' \ 234' "在C编译?

时间:2017-04-07 01:17:12

标签: c notepad++ putty

我知道以前曾经问过这样的问题,请不要把它钉在十字架上。我使用NotePad ++编写代码,当我尝试编译它时(我使用cc lab7.c -o test1编译它)我得到了一堆stray \ 342,stray \ 200,stray \ 234错误,如所见下方。

这是我的代码:

#include <stdio.h>
#include <string.h>


char inbase, dummy, outbase;
char response;
int inputNum;
char bin [32];

int main(void)
{


// perform for yes response
while (response == 'y' || response == 'Y')
{

    // prompt to read in char for base of input
    printf("Enter a base to read in (b for binary, d for decimal,\n h for hexidecimal, or o for octal: ");  
    scanf("%c", &inbase);

    // if binary is inbase
    if (inbase == 'b' || inbase == 'B')
    {
        printf ("Enter a binary number to read: ");
        scanf ("%c", &dummy);
        scanf ("%s", bin);
        inputNum = binary(bin);
    }

    // if inbase is anything else, read
    else 
    {
        printf ("Enter an integer to read: ");
        scanf ("%c", &dummy);
        scanf ("%i", &inputNum);
    }

    // output the number

    printf ("Enter a base to output as: "); 
    scanf ("%c", &dummy);
    scanf ("%c", &outbase);

    // decimal output
    if (outbase == 'd' || outbase == 'D')
    {
        printf("The integer %i in decimal is %d" inputNum, inputNum);
    }

    // hexidecimal output
    if (outbase == 'h' || outbase == 'H')
    {
        printf("The integer %i in hexidecimal is %h" inputNum, inputNum);
    }

    // octal output
    if (outbase == 'o' || outbase == 'O')
    {
        printf("The integer %i in octal is %o" inputNum, inputNum);
    }   

    // check to see if user wants to run again
    printf (“Do you want to …”);
    scanf (“%c”, &dummy);
    scanf (“%c”, &response);
    scanf (“%c”, &dummy);

}

int binary(char* inString)
{
    int sum=0;
    int i;

    for (i=0; i < strlen(inString); i++)
    {
        sum = sum * 2 + (inString[i] - 48);
    }

    return sum;
}

return 0;

}

// END OF CODE

以下是我收到的错误消息:

lab7.c: In function ‘main’:

lab7.c:58:45: error: expected ‘)’ before ‘inputNum’
printf("The integer %i in decimal is %d" inputNum, inputNum);
                                         ^

lab7.c:64:49: error: expected ‘)’ before ‘inputNum’
printf("The integer %i in hexidecimal is %h" inputNum, inputNum);
                                             ^

lab7.c:70:43: error: expected ‘)’ before ‘inputNum’
printf("The integer %i in octal is %o" inputNum, inputNum);
                                       ^

lab7.c:74:3: error: stray ‘\342’ in program
printf (“Do you want to …”);
^

lab7.c:74:3: error: stray ‘\200’ in program

lab7.c:74:3: error: stray ‘\234’ in program

lab7.c:74:14: error: ‘Do’ undeclared (first use in this function)
printf (“Do you want to …”);
          ^

lab7.c:74:14: note: each undeclared identifier is reported only once for                    each function it appears in

lab7.c:74:17: error: expected ‘)’ before ‘you’
printf (“Do you want to …”);
             ^

lab7.c:74:17: error: stray ‘\342’ in program

lab7.c:74:17: error: stray ‘\200’ in program

lab7.c:74:17: error: stray ‘\246’ in program

lab7.c:74:17: error: stray ‘\342’ in program

lab7.c:74:17: error: stray ‘\200’ in program

lab7.c:74:17: error: stray ‘\235’ in program

lab7.c:75:3: error: stray ‘\342’ in program
scanf (“%c”, &dummy);
^

lab7.c:75:3: error: stray ‘\200’ in program

lab7.c:75:3: error: stray ‘\234’ in program

lab7.c:75:13: error: expected expression before ‘%’ token
scanf (“%c”, &dummy);
         ^

lab7.c:75:13: error: stray ‘\342’ in program

lab7.c:75:13: error: stray ‘\200’ in program

lab7.c:75:13: error: stray ‘\235’ in program

lab7.c:76:3: error: stray ‘\342’ in program
scanf (“%c”, &response);
^

lab7.c:76:3: error: stray ‘\200’ in program

lab7.c:76:3: error: stray ‘\234’ in program

lab7.c:76:13: error: expected expression before ‘%’ token
scanf (“%c”, &response);
         ^

lab7.c:76:13: error: stray ‘\342’ in program

lab7.c:76:13: error: stray ‘\200’ in program

lab7.c:76:13: error: stray ‘\235’ in program

lab7.c:77:3: error: stray ‘\342’ in program
scanf (“%c”, &dummy);
^

lab7.c:77:3: error: stray ‘\200’ in program

lab7.c:77:3: error: stray ‘\234’ in program

lab7.c:77:13: error: expected expression before ‘%’ token
scanf (“%c”, &dummy);
         ^

lab7.c:77:13: error: stray ‘\342’ in program

lab7.c:77:13: error: stray ‘\200’ in program

lab7.c:77:13: error: stray ‘\235’ in program

1 个答案:

答案 0 :(得分:1)

您的代码存在一些问题:

lab7.c:58:45: error: expected ‘)’ before ‘inputNum’
printf("The integer %i in decimal is %d" inputNum, inputNum);
                                         ^

您在指定位置之前错过了一个逗号,并且在后面的几个类似的行中错过了。

printf (“Do you want to …”);
        ^                ^

我指出的位置的引号都是&#34;智能引号&#34; (“/”),而不是正常的引号。重新输入。

同样的问题适用于以下与“%c”相关的每个错误。