C语言电话号码中间四位变成*
时间: 2024-10-16 08:12:00 浏览: 17
在C语言中,如果你想将电话号码中间的四位替换为星号(*),可以使用字符串操作函数来实现。这里是一个简单的例子:
```c
#include <stdio.h>
#include <string.h>
void mask_phone_number(char phone[], int start, int length) {
// 检查输入是否合法
if (start + length > strlen(phone)) {
printf("Invalid phone number.\n");
return;
}
// 使用指针遍历并替换中间四位
for (int i = start; i < start + length; ++i) {
phone[i] = '*';
}
}
int main() {
char phone_number[15]; // 假设最大电话号码长度为14位,包括区号和分隔符
printf("Enter a phone number: ");
fgets(phone_number, sizeof(phone_number), stdin); // 获取用户输入
// 移除末尾的换行符
phone_number[strcspn(phone_number, "\n")] = '\0';
// 确定中间四位开始的位置,假设前三位是区号,后两位是分机号
int middle_start = 3;
// 隐藏中间四位
mask_phone_number(phone_number, middle_start, 4);
printf("Masked phone number: %s\n", phone_number);
return 0;
}
```
当你运行这个程序时,它会提示你输入一个电话号码,然后隐藏中间四位数字,并显示处理后的号码。
阅读全文