如何交换同一个字符串数组中的两个值
时间: 2024-01-24 16:17:00 浏览: 27
可以使用一个临时变量来完成交换。具体步骤如下:
1. 选择要交换的两个值的下标;
2. 使用一个临时变量存储其中一个值;
3. 将该值赋值给另一个位置;
4. 将临时变量的值赋给原来的位置。
示例代码:
```java
String[] arr = {"hello", "world", "java", "python"};
int index1 = 1;
int index2 = 2;
String temp = arr[index1];
arr[index1] = arr[index2];
arr[index2] = temp;
```
执行后,数组 arr 的值为:{"hello", "java", "world", "python"}。
相关问题
C语言如何交换同一个字符串数组中的两个值
要交换同一个字符串数组中的两个值,可以使用指针来实现。具体步骤如下:
1. 定义一个指向字符型的指针变量,指向数组中第一个字符串的首地址。
2. 定义两个整型变量,存储要交换的两个字符串的下标。
3. 使用指针变量加上第一个字符串的下标,得到第一个字符串的地址,再使用指针变量加上第二个字符串的下标,得到第二个字符串的地址。
4. 使用一个字符型的临时变量,将第一个字符串的内容存储起来。
5. 将第二个字符串的内容复制到第一个字符串的地址上。
6. 将临时变量中存储的内容复制到第二个字符串的地址上。
下面是代码示例:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[5][20] = {"apple", "banana", "orange", "pear", "grape"};
char *p = str[0]; // 指向第一个字符串的指针
int index1 = 1; // 要交换的字符串1的下标
int index2 = 3; // 要交换的字符串2的下标
// 使用指针变量加上下标,得到要交换的两个字符串的地址
char *pstr1 = p + index1 * 20;
char *pstr2 = p + index2 * 20;
// 交换两个字符串的内容
char temp[20];
strcpy(temp, pstr1);
strcpy(pstr1, pstr2);
strcpy(pstr2, temp);
// 输出交换后的结果
for (int i = 0; i < 5; i++) {
printf("%s\n", str[i]);
}
return 0;
}
```
输出结果为:
```
apple
pear
orange
banana
grape
```
用c语言写分别输入两个字符串,然后用字符串处理函数交换两个字符串,然后把两个字符串组成一个新的字符串数组
好的,我来给您写一个示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[100], str2[100], temp[100];
printf("请输入第一个字符串:");
gets(str1);
printf("请输入第二个字符串:");
gets(str2);
// 交换两个字符串
strcpy(temp, str1);
strcpy(str1, str2);
strcpy(str2, temp);
// 组成新的字符串数组
char newStr[200];
strcpy(newStr, str1);
strcat(newStr, str2);
printf("交换后的两个字符串为:%s 和 %s\n", str1, str2);
printf("组成的新字符串为:%s\n", newStr);
return 0;
}
```
在这个示例代码中,我们使用 `gets` 函数分别输入两个字符串,然后使用 `strcpy` 函数交换两个字符串的值,最后使用 `strcat` 函数将两个字符串组成一个新的字符串数组。注意,我们使用 `temp` 数组来存储临时的字符串值,在交换时使用。