用C语言实现:邮箱地址合法性校验 输入一个电子邮箱地址字符串,要求检查这个邮箱地址是否合法。如果输入的电子邮箱地址是合法的, 输出字符串"true"; 如果不合法输出字符"false"。 满足如下条件被认为是合法的邮箱地址: 1、仅包含一个"@"字符 2、最后三个字符必须是".com" 3、字符之间没有空格 4、有效字符为1~9、a~z、A~Z、"."、"@"、"_" 输入:字符串 输出:是否是有效邮箱名的结果 样例输入:huawei@huawei.com 样例输出:true
时间: 2024-01-06 11:04:45 浏览: 85
c#判断email地址是否为合法
以下是C语言的实现代码:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main() {
char email[100];
int len, i, count = 0, flag = 0;
printf("请输入电子邮箱地址:");
scanf("%s", email);
len = strlen(email);
// 检查是否包含且仅包含一个“@”字符
for (i = 0; i < len; i++) {
if (email[i] == '@') {
count++;
}
}
if (count != 1) {
printf("false\n");
return 0;
}
// 检查最后三个字符是否为“.com”
if (email[len-1] != 'm' || email[len-2] != 'o' || email[len-3] != 'c') {
printf("false\n");
return 0;
}
// 检查字符是否合法
for (i = 0; i < len; i++) {
if (!(isalnum(email[i]) || email[i] == '.' || email[i] == '@' || email[i] == '_')) {
printf("false\n");
return 0;
}
if (email[i] == '@') {
flag = 1;
}
if (flag == 1 && email[i] == '.') {
flag = 2;
}
}
if (flag != 2) {
printf("false\n");
return 0;
}
printf("true\n");
return 0;
}
```
上述代码中,使用了多个for循环分别检查邮箱地址是否满足各种条件。其中,isalnum函数用于判断字符是否是字母或数字。如果字符不满足任何一个条件,则输出“false”,否则输出“true”。
阅读全文