c - 在 C 中,如何检查一个字符串是否包含 2 个数字、1 个字母和 4 个数字?

标签 c string arrays char

在我试过的方法中:

int 1, 2, 4, 5, 6, 7;
char 3;
char display[10];

scanf("%d%d%c%d%d%d%d", &1, &2, &3, &4, &5, &6, &7);
display = {1, 2, 3, 4, 5, 6, 7};

但我到处都会出错,而且它不起作用。

最佳答案

大概是按照这个顺序?

每次将字符串遍历一个字符,然后使用 isdigit() isalpha() 检查每个字符。
或者只是做:

char test[] = "12B3456";

if ( (strlen(test)>6) &&
     isdigit(test[0]) && 
     isdigit(test[1]) &&
     isalpha(test[2]) && 
     isdigit(test[3]) &&
     isdigit(test[4]) &&
     isdigit(test[5]) &&
     isdigit(test[6]) ) 
{
   // valid
}

关于c - 在 C 中,如何检查一个字符串是否包含 2 个数字、1 个字母和 4 个数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2504165/

相关文章:

c++ - 如果字符串表示负数,则使用错误处理将字符串解析为无符号整数

Java字符串操作——编写高效代码

C 中的 Char 数组和 scanf 函数

c++ - 创建全局常量 C 字符串的正确方法

c - C 中的手动拆分函数

java - 从 Java 中的字符串中删除变音符号

arrays - Swift - json 嵌套数组不返回值

c - 复用比较功能

c - 如何在 c make 文件中包含 clock_gettime

javascript - 如何在 JavaScript 中向数组中的数组添加新元素