C语言对输入的十一位电话号码4-8位替换字符
时间: 2024-09-10 09:03:12 浏览: 44
C语言实现输入一个字符串后打印出该字符串中字符的所有排列
在C语言中,如果你想要处理一个十一位的电话号码,并将其中的第四到第八位替换为特定字符(例如星号(*)),你可以通过以下步骤实现:
```c
#include <stdio.h>
#include <string.h>
// 函数用于隐藏中间四位数字
void mask_phone_number(char phone[], int start, int end, char replacement) {
int len = strlen(phone);
if (len >= start && len <= end + 1) { // 检查电话号码长度
for (int i = start; i <= end; i++) {
phone[i] = replacement;
}
} else {
printf("Invalid phone number length.\n");
}
}
int main() {
char phone[12]; // 假设电话号码最多12位
printf("Enter a 11-digit phone number: ");
scanf("%s", phone);
// 隐藏第4到第8位数字
mask_phone_number(phone, 3, 7, '*'); // 从0开始计数,所以4-8位对应于索引3-7
printf("Masked phone number: %s\n", phone);
return 0;
}
```
在这个示例中,`mask_phone_number`函数接受电话号码数组、开始位置(从0开始)、结束位置以及要替换成的字符。在`main`函数中,首先读取用户的电话号码,然后调用该函数并传入适当的参数。
阅读全文