下面的程序出現錯誤。c中的結構
#include "stdafx.h"
#include<stdio.h>
struct s
{
char *st;
struct s *sp;
};
struct s *p1,*p2;
swap(p1,p2);
int main()
{
int i;
struct s *p[3];
static struct s a[]={
{"abc",a+1},{"def",a+2},{"ghi",a}
};
for(i=0;i<3;i++)
{
p[i]=a[i].sp;
}
swap(*p,a);
printf("%s %s %s\n",p[0]->st,(*p)->st,(*p)->sp->st);
return 0;
}
swap(p1,p2)
{
char *temp;
temp = p1->st;
p1->st = p2->st;
p2->st = temp;
}
如何使這個程序working.Even如果我們沒有把int之前交換,我希望它會默認將它作爲int。
錯誤C4430:缺少類型說明符 - int假定。注意:C++不 支持默認int
錯誤C2078:太多的初始值設定
錯誤C2440:初始化:不能從轉換的*'到「廉政」 沒有上下文中,這種轉換是可能的
錯誤C2450:術語不計算爲服用2個參數
功能錯誤C2456: '交換':函數式
能否請您爲這些錯誤提供的行號?另外,我覺得一些文字可能會在錯誤信息已經丟失。我重新格式化,但它仍然看起來有點奇怪 –