c语言错误提示

来源:百度知道 编辑:UC知道 时间:2024/05/12 20:40:02
今天编程遇到个没有遇到过的错误,很奇怪。
定义一个数组如下:
#include<stdio.h>
void main()
{long int S[10]={417693,755851,870542,821994,271924,072101,874326,079246,439133,399571};
int i;
for(i=0;i<10;i++)
printf("%ld",S[i]);}
报错:error C2041: illegal digit '9' for base '8'
当把数组中倒数第三个数079246改为078246时,
报错变为:error C2041: illegal digit '8' for base '8'
当把079246中的9改为0-7之间的数时均运行正常;这究竟是怎么回事啊?
还望高手们出手帮帮小菜啊。

一个数字前面加上0,代表八进制,八进制就是用01234567,这八个数字来表示数据,你出来89,当然就不行了。

哎。。
079246 表示八进制数,八进制里只有0~7,怎么可能有8啊9啊????