69,368
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <string.h>
// 出错返回-1,正确返回0。
int check(char *s)
{
int count = 0;
// 第一位或最后一位为@
if(s[0] == '@' || s[strlen(s)-1] == '@') return -1;
for(int i=0; i<strlen(s); i++)
{
if(s[i] == '@') count++;
}
// @没出现或2次以上
if(count == 0 || count >= 2) return -1;
return 0;
}
int main(void)
{
printf("%d\n", check("@adfaaf.com"));
printf("%d\n", check("adfaaf.com@"));
printf("%d\n", check("adfaaf.com"));
printf("%d\n", check("ad@faa@f.com"));
printf("%d\n", check("adfaa@f.com"));
return 0;
}
#include <stdio.h>
#include <string.h>
int check_at_ch(char *src);
int main()
{
char str[] = "xx@xxxx";
if (check_at_ch(str) < 0)
printf("error!\n");
printf("%d\n", check_at_ch(str));
return 0;
}
int check_at_ch(char *src)
{
char *pstr;
unsigned int pos;
pstr = strchr(src, '@');
if (!pstr) //no '@'
return -3;
pos = pstr - src;
if (pos == 0) //at first
return -1;
else if (pos == strlen(src) - 1) //at end
return -2;
else if (strchr(pstr+1, '@')) //appear more than 2 times
return -4;
else
return 0;
}