我知道以前曾经问过这样的问题,请不要把它钉在十字架上。我使用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
答案 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”
相关的每个错误。