나는 다음과 같은 오류가 - 나 오류를 찾기 위해 도와주세요 :무리한 오류는 일종의
9 IntelliSense: expected a '}' 70 4
는 코드의 끝 부분에 포인트 -하지만이 열린 {아무데도 없습니다! 왜??
8 IntelliSense: expected a ';' 57 1
{void 메인의 뒤에는 왜 넣어야합니까? 공허함의 메인 뒤에 ?? 코드의 beginig에
Error 7 error C1075: end of file found before the left brace '{' at 70 1
점 - 왜 ??? 여기
if(first < last)
{
middle=(first+last)/2;
merge_sort(a,first,middle);
merge_sort(a,middle+1,last);
merge(a,first,middle,last);
{
#include <stdio.h>
#include <stdlib.h>
void merge(int *a,int p,int q,int r)
{
int i=p,j=q+1,k=0;
int* temp=(int*)calloc(r-p+1, sizeof(int));
while ((i<=q)&& (j<=r))
if(a[i]<a[j])
temp[k++]=a[i++];
else
temp[k++]=a[j++];
while(j<=r) // if(i>q)
temp[k++]=a[j++];
while(i<=q) // j>r
temp[k++]=a[i++];
for(i=p,k=0;i<=r;i++,k++) // copy temp[] to a[]
a[i]=temp[k];
free(temp);
}
void merge_sort(int *a,int first, int last)
{
int middle;
if(first < last)
{
middle=(first+last)/2;
merge_sort(a,first,middle);
merge_sort(a,middle+1,last);
merge(a,first,middle,last);
{
}
void main()
{
int a[] = {9, 7, 2, 3, 5, 4, 1, 8, 6, 10};
int i;
merge_sort(a, 0, 9);
for (i = 0; i < 10; i++)
printf ("%d ", a[i]);
항상 중괄호를 사용하고 이러한 오류를 방지하십시오. 당신은 이것이 컴파일 타임 오류라고 운 좋았을뿐입니다. –
아마도 코드를 들여 쓰기하는 편집기를 사용하고 있을까요? –
질문에서 왜 나쁜 코드를 변경 했습니까? 그게 분명히 문제 였고, 이제는 기본적으로 Q와 As를 무의미하게 만들었습니다. 설명을 기다리면서 그것을 되돌려 놓습니다. – paxdiablo