大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
/*看不过去这些误人子弟的回答
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、小程序制作、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了凉州免费建站欢迎大家使用!
你这么肯定island a={"a","7","9",NULL};这样分配不行?
他程序的问题出在:
1、a.next=c;
c.next=i;
i.next=s;
这种赋值语句应该放在函数内部,不应该在函数外部,所以编译器会提示
找不到{ ,即这些语句应该在函数体内。
把这3句放到 main 函数体内就没问题了。
2、dis函数
for (; i=!NULL; i-next) 改为 for (; i!=NULL; i=i-next)
printf("name:%s\n open:%s-%s",i-name,i-open,i-close );改为:
printf("name:%s open:%s-%s\n",i-name,i-open,i-close );在最后换行
修改后的程序如下:
*/
#include stdio.h
typedef struct island
{
char *name;
char *open;
char *close;
struct island *next;
/* data */
}island;
island a={"a","7","9",NULL};
island c={"c","17","19",NULL};
island i={"i","9","17",NULL};
island s={"s","9","17",NULL};
void dis(island *start)
{
island *i=start;
for (; i!=NULL; i=i-next)
{
printf("name:%s open:%s-%s\n",i-name,i-open,i-close ); /* code */
}
}
int main(void)
{
a.next=c;
c.next=i;
i.next=s;
dis(a);
}
这个函数在类中的定义是需要两个int类型的参数的,而你调用时没有传递任何参数,当然会报错。
将类中这个函数的定义的参数去掉就行了。
代码文本:
#include "stdio.h"
int dis(int a,int b){//求GCD
int r;
while(r=a%b)
a=b,b=r;
return b;
}
int main(int argc,char *argv[]){//验证主函数
printf("%d %d: %d\n",5,7,dis(5,7));
printf("%d %d: %d\n",12,16,dis(12,16));
printf("%d %d: %d\n",16,12,dis(16,12));
printf("%d %d: %d\n",51,51,dis(51,51));
return 0;
}
???
它并不是c的关键字或宏或函数,
看字面是distance的缩写