作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在努力处理一个项目,所以我必须在 C 中验证一些 4 位数字,我考虑使用字符,因为我需要验证 0001 但没有 1。然后我想我需要将其转换为整数与它一起工作。有人可以帮助我吗?
printf("Enter a number 0 to end:");
gets(str);
while (strcmp(str, "0"))
{
j = 0;
k = 0;
flag = 0;
while (*(cad + j)) {
if (!isdigit(*(cad + j)))
flag = 1;
j++;
k = ++;
}
if (!flag && k == 4) {
i = atoi(cad);
q = newnode();
q->num = i;
stack(&pi,q);
}
else
printf("Wrong number");
printf("Enter a number 0 to end:");
gets(str);
}
最佳答案
我想你想要这个
#include <stdio.h>
#include <stdlib.h>
int
is_valid_number(const char *const string, int *value)
{
char *endptr;
*value = strtol(string, &endptr, 10);
return (((endptr - string) == 4) && (*endptr == '\0'));
}
int
main(void)
{
int value;
const char *string = "001";
if (is_valid_number(string, &value) != 0)
fprintf(stdout, "it's valid: %d\n", value);
else
fprintf(stdout, "\033[31mINVALID\033[0m\n");
return 0;
}
关于c - 验证数字和数字的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33404376/
我是一名优秀的程序员,十分优秀!