问个C语言二维数组元素换位问题

想实现字符串二维数组中两个元素换位,代码是:#include<stdio.h>#defineN3voidmain(){intr;charn[10];charw[N][10... 想实现字符串二维数组中两个元素换位,代码是:#include<stdio.h>
#define N 3
void main()
{
int r;
char n[10];
char w[N][10];
for(r=0;r<N;r++)
{
scanf("%s",w[r]);
}
n=w[0];w[0]=w[2];w[2]=n;
}编译说倒数第二行有问题error C2106: '=' : left operand must be l-value。请问怎么解决。
展开
 我来答
匿名用户
2013-12-12
展开全部
说明:
C语言的字符串不能直接赋值,只能通过:
1. 字符串拷贝;
2. 内存拷贝;
来实现赋值操作。
完善后的代码如下:
#include <stdio.h>
#include <string.h>
#define N 3
void main()
{
int r;
char n[10];
char w[N][10];
printf("请输入%d个字符串:\n", N);
for(r=0;r<N;r++)
{
scanf("%s",w[r]);
}
printf("\n");
//n=w[0];w[0]=w[2];w[2]=n; // C的字符串不能相接赋值
strcpy(n, w[0]);
strcpy(w[0], w[2]);
strcpy(w[2], n);
printf("换位的字符串依次为:\n");
for (r=0; r<N; r++)
{
printf("%s\n", w[r]);
}
printf("\n");
}
测试结果:
匿名用户
2013-12-12
展开全部
你的倒数二行里数组赋值有问题, 不能用等好,用strcpy
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式