atoi函数问题(老杨的一段改后代码)
程序代码:
#include <stdio.h> #include <stdlib.h> int main() { int i,year,month,day; int dy,dm; char a[11]="2008-08-08"; a[4] = 0; year = atoi(a); a[7] = 0; month = atoi(a+5); day = atoi(a+8); printf("%d,%d,%d",year,month,day); return 0; }这是老杨的一道题里的一段,我稍微修改了一下。
对于atoi的使用没看明白
第8行的a[4] = 0;
和第10行的a[7] = 0;
是什么作用?
atoi函数不是检测直到非数字吗?
那么这里的两次赋值不是破坏了这个?
但是去掉第8行和第10行的输出结果是一样的,这又是为什么?