为了账号安全,请及时绑定邮箱和手机立即绑定

调试的时候没错,但是链接就错,望各位高手指点

调试的时候没错,但是链接就错,望各位高手指点

慕婉清6462132 2023-02-17 22:18:18
调试没错,但是在链接就出错#include <stdio.h>int i,e,a[];int *begin,*end;int make(int a[]){int b,e=0;printf("请输入数组的值,以0结束");scanf("%d",&b);if(b){a[e]=b;e++;}return e;}void left(){int * begin,* end,*b,i;int p,q;q=e-1;begin=a;*end=a[e];printf("请输入右移的位数");scanf("%d",&p);for(p;p>0;p--){begin=end;*end=a[q];q=q-1;}b=begin;for(i=0;i<=e;i++){a[i]=*b;b++;}}void xian(){for(i=0;i<=e;i++){printf("%d",a[i]);}}int main(){int c[15];make(c);left();return 0;}
查看完整描述

2 回答

?
九州编程

TA贡献1785条经验 获得超4个赞

int a[]如果不是作为形参是不能这样定义的,必须在定义是进行初始化;
gcc编译候会有warning: array ‘a’ assumed to have one element
如果忽略warning候当你输入数字候会出现:Segmentation fault
而且输入没有循环?很是郁闷了。
重新改改吧!

查看完整回答
反对 回复 2023-02-20
?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

int i,e,a[];
这个定义能过吗?
变量e在程序中的使用也是不知所云。

查看完整回答
反对 回复 2023-02-20
  • 2 回答
  • 0 关注
  • 52 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信