作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我接到一项任务,要求转换日期中的数字。
我们以字符字符串形式获取日期,例如 18.2.2014,我需要提取整数 18, 2, 2014。
我的方法并不完美...
您认为最好的方法是什么?
void luckChoice(char a[]){
int month=10*(a[3]-'0')+(a[4]-'0');
int day=(a[0]-'0')*10+(a[1]-'0');
int year=(a[9]-'0')+(a[8]-'0')*10+(a[7]-'0')*100+(a[6]-'0')*1000;
最佳答案
我不知道您是否同意,但您可以直接在 scanf()
本身中执行此操作。
只需将输入作为
if (scanf("%d.%d.%d", &dd, &mm, &yy) == 3) { …OK… } else { …failed… }
这将忽略“.”按指定顺序输入。
否则您可以使用 sscanf() 函数,如下所示:
void luckChoice(char a[]){
int dd,mm,yy;
sscanf(a,"%d.%d.%d",&dd,&mm,&yy);
}
关于c - 从 C 中的日期中提取数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47686603/
我是一名优秀的程序员,十分优秀!