这些是我得到的错误。我无法修复它们。谢谢。
lab9.c:46:2: error: expected identifier or '('
for(i = 0; i < counter-1; i++)
^
lab9.c:57:1: error: expected identifier or '('
return num;
#include <stdio.h>
int sort(int numArray[], int counter);
int main(void)
{
int numArray[100];
int counter = 0;
int i = 0;
int x;
int y;
while (scanf("%d", &x) != EOF)
{
numArray[counter] = x;
counter++;
}
while (i < counter && y != 0)
{ //improvement 2
sort(numArray, counter - i); //improvement1
i++;
}
i = 0;
while (i < counter)
{
printf("%d", numArray[i]);
i++;
}
return 0;
}
int sort(int numArray[], int counter);
int num = 0;
int i;
int x;
for(i = 0; i < counter-1; i++)
{
if (numArray[i] > numArray[i+1])
{
x=numArray[i];
numArray[i]=numArray[i+1];
numArray[i+1]=x;
num++;
}
}
return num;
答案 0 :(得分:4)
你的for循环不在任何函数之内。我猜你的意思是将int num = 0
到return num
内的所有内容都放在sort
函数中。你需要将函数体包装在花括号{
和}
中,如下所示:
int sort(int numArray[], int counter)
{
int num = 0;
int i;
int x;
for(i = 0; i < counter-1; i++)
{
if (numArray[i] > numArray[i+1])
{
x=numArray[i];
numArray[i]=numArray[i+1];
numArray[i+1]=x;
num++;
}
}
return num;
}