谁能帮忙修改一个程序???

来源:百度知道 编辑:UC知道 时间:2024/06/01 11:48:57
#include<string.h>
main()
{
int n=3,i;
char name[3][10],temp[9];
for(i=0;i<=n-1;i++)
{
printf("Enter name:\n");
scanf("%s",&name[i][20]);
}
for(i=0;i<n-1;i++)
{
strcpy(temp,name[i]);
strcpy(name[i],name[i+1]);
strcpy(name[i+1],temp);
}
puts(name[i]);
}
一个用于交换的程序
但是无法运行完全.
谁能帮着找一下错误???
谢谢了!!!是不是我对strcpy的理解有误啊????

#include<string.h>
#include"stdio.h"
void main()
{
int n=3,i;
char name[3][10],temp[9]; //标点符号都要用英文状态下的
for(i=0;i<=n-1;i++)
{
printf("Enter name:\n");
scanf("%s",name[i]); //这里
}
for(i=0;i<n-1;i++)
{
strcpy(temp,name[i]);
strcpy(name[i],name[i+1]);
strcpy(name[i+1],temp);
}
for(i=0;i<n-1;i++)//这里输出要用一个循环
puts(name[i]);
}
你的那个交换的那个循环那里也有问题,不过我不知道你这道题的目的,所以没法改,别的地方帮你改了一下

最后一个i越界

#include<string.h>
#include<stdio.h>

void main()
{
int n=3,i;
char name[3][10],temp[9];
for(i=0;i<=n-1;i++)
{
printf("Enter name:\n");
scanf("%s",&name[i][20]);
}
for(i=0;i<n-1;i++)
{
strcpy(temp,name[i]);
strcpy(name[i],name[i+1]);
strcpy(name[i+1],temp);
}
puts(n