关于C语言一维数组越界
发布网友
发布时间:2023-05-07 08:27
我来回答
共1个回答
热心网友
时间:2024-12-14 06:48
#include <stdio.h>
#include<string.h>
#define N 4
main()
{
char a[N],i=0,len,j,t; //a[N]是a[4]数据共4个元素:a[0],a[1],a[2],a[3](下标从0开始)。
for(;i<N;i++) // i < 5,最大为N,将5改为N
{
printf("请输入一个5位数:");
scanf_s("%c",&a[i]); // 当i为4时,,出错
}
len=strlen(a);
if(len==N) //5改为N
{
j=N;
for(i=0;i<N;i++)
{
t=a[i];
a[i]=a[j];
a[j]=t;
j--;
}
}
else
printf("你输入的数不是4位数。"); //如果你想弄成5位数,直接将N改为5: #define N 5
}