C语言编写一道简单程序:邮箱地址合法性校验 输入一个电子邮箱地址字符串,要求检查这个邮箱地址是否合法。如果输入的电子邮箱地址是合法的, 输出字符串"true"; 如果不合法输出字符"false"。 满足如下条件被认为是合法的邮箱地址: 1、仅包含一个"@"字符 2、最后三个字符必须是".com" 3、字符之间没有空格 4、有效字符为1~9、a~z、A~Z、"."、"@"、"_"
时间: 2024-01-30 09:02:36 浏览: 207
C#判断是否为合法的email地址
下面是一个简单的C语言程序来检查一个电子邮件地址是否合法:
```c
#include <stdio.h>
#include <string.h>
int main() {
char email[100];
int i, at_position = -1, com_position = -1;
printf("请输入一个电子邮箱地址:");
scanf("%s", email);
// 检查是否仅包含一个"@"
for (i = 0; i < strlen(email); i++) {
if (email[i] == '@') {
if (at_position != -1) {
printf("false\n");
return 0;
}
at_position = i;
}
}
if (at_position == -1) {
printf("false\n");
return 0;
}
// 检查最后三个字符是否为".com"
if (strlen(email) - at_position != 4 || email[at_position + 1] != 'c' || email[at_position + 2] != 'o' || email[at_position + 3] != 'm') {
printf("false\n");
return 0;
}
// 检查字符是否有效
for (i = 0; i < strlen(email); i++) {
if ((email[i] < '0' || email[i] > '9') && (email[i] < 'a' || email[i] > 'z') && (email[i] < 'A' || email[i] > 'Z') && email[i] != '.' && email[i] != '@' && email[i] != '_') {
printf("false\n");
return 0;
}
}
printf("true\n");
return 0;
}
```
该程序首先要求用户输入一个电子邮件地址字符串,并使用strlen函数获取字符串的长度。
然后,程序遍历字符串以检查是否仅包含一个“@”字符。如果有多个“@”字符,则该地址被认为是不合法的。如果没有“@”字符,则该地址也被认为是不合法的。
接下来,程序检查电子邮件地址的最后三个字符是否为“.com”。如果不是,该地址被认为是不合法的。
最后,程序检查电子邮件地址是否包含有效字符。如果存在无效字符,则该地址被认为是不合法的。
如果电子邮件地址是合法的,则程序输出“true”,否则输出“false”。
阅读全文