用C语言指针形式实现输入任意字符串名和姓输出字符串姓和名实现两者的位置互换且名和姓中间有空格
时间: 2025-02-10 20:12:40 浏览: 31
在C语言中,我们可以使用指针来处理字符串并交换姓名部分。首先,我们需要从用户那里获取输入的字符串,然后通过指针操作来达到姓名位置的互换。这里是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
void swapNameAndLastName(char *name) {
// 分割名字和姓氏
char *sep = strchr(name, ' ');
if (sep) {
// 获取姓氏部分的地址
char *lastname = name;
// 移动到姓氏之后的位置
sep[0] = '\0'; // 结束当前单词
// 获取名字部分的地址
char *firstname = sep + 1;
// 交换两个部分
char temp[50]; // 假设姓名长度不超过50
strcpy(temp, firstname); // 把名字复制到临时数组
strcpy(firstname, lastname);
strcpy(lastname, temp);
// 输出新的字符串
printf("姓氏: %s, 名字: %s\n", lastname, firstname);
} else {
printf("输入的不是有效的姓名格式。\n");
}
}
int main() {
char fullName[100];
printf("请输入您的全名(例如: 张三 李四): ");
fgets(fullName, sizeof(fullName), stdin); // 读取一行字符串
fullName[strlen(fullName) - 1] = '\0'; // 去除换行符
// 调用函数交换姓名
swapNameAndLastName(fullName);
return 0;
}
```
在这个程序中,我们首先找到空格分割出名字和姓氏,然后创建两个临时字符数组存储姓名的部分,并进行交换。最后输出调整后的姓名。
阅读全文
相关推荐



















