【发布时间】:2017-06-05 19:11:18
【问题描述】:
我运行此代码并遇到时间超出错误,它实现了对数组的循环右移,给定数组大小、元素和移位宽度,将不胜感激为什么这会导致执行问题的一些帮助,我是新手:)
#include<stdio.h>
void main()
{
int n,i;
//array size input
scanf("%d",&n);
int a[n];
//array elements input
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
// shift amount input
int s,temp;
scanf("%d",&s);
//single right shift for S number of times
for(i=0;i<s;i++)
{
temp=a[n-1];
for(i=n-1;i>0;i--)
a[i]=a[i-1];
a[0]=temp;
}
//Output of shifted array
for(i=0;i<n;i++)
{
printf("%d\n",a[i]);
}
}
【问题讨论】:
-
请注意
int是main()的唯一标准返回类型。 -
可能与嵌套的
for循环有关。寻找更有效的方法。 -
您对内部和外部嵌套的
for循环使用相同的索引变量i。 -
感谢您的帮助,更改变量名后有效
标签: c arrays error-handling