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行的输出结果是一样的,这又是为什么?









