本文介绍了"错误:杂散'\342'"杂散'\200'"杂散'\234'"在 C 编译中?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用 Notepad++ 编写代码,当我尝试编译它(我使用 cc lab7.c -o test1 来编译它)我得到了一堆杂散 \342、杂散 \200、杂散 \234 错误,如下所示.

I used Notepad++ to write the code, and when I tried to compile it (I used cc lab7.c -o test1 to compile it) I got a bunch of stray \342, stray \200, stray \234 errors, as is seen below.

这是我的代码:

#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

这是我收到的错误消息:

And here are the error messages I'm getting:

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

推荐答案

您的代码有几个问题:

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

您在所指示的位置之前以及随后的几行中缺少一个逗号.

You are missing a comma right before the indicated location, and in several similar lines which follow.

printf ("Do you want to …");
        ^                ^

我指出的位置的引号都是智能引号"(/"),不是普通引号.重新输入它们.

The quotation marks in the locations I've indicated are both "smart quotes" ("/"), not normal quotation marks. Retype them.

同样的问题适用于以下每个关于 %c" 的错误.

The same issue applies to each of the following errors regarding "%c".

这篇关于&quot;错误:杂散'\342'&quot;杂散'\200'&quot;杂散'\234'&quot;在 C 编译中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

05-16 05:52