下面的程序出现错误。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: '交换':函数式
能否请您为这些错误提供的行号?另外,我觉得一些文字可能会在错误信息已经丢失。我重新格式化,但它仍然看起来有点奇怪 –