无返回值的函数前面不加void好像从来不报错。
我看见有的书上,自编的函数(无return)前落写了void,还以为是编者错误。但我自己写程序时,故意不写void,运行结果完全正确。 也就是说,系统把这个函数当作int类型的了,但函数无返回值。却不影响运行结果。 请教各位xdjm,这是怎么回事?好像理论和实际差别很大啊。 (用vc和tc都没报错)
试试这个程序的各种情况,你会对返回值理解更好一点! /*void */prt() { printf("Hello\n"); // return 1; } int main() { int retval=0; retval=prt(); printf("retval=%d\n",retval); return 0; } 函数不加返回类型,默认为整型返回,无return的返回随机的一个数,你的测试虽然不报错,会报警告吧?比如上面我的测试无return时返回6;如果你的返回值不重要当然没大的影响,如果你要检验返回值,不写返回语句就麻烦了。 另外关于main()函数的返回值,有一些注意的地方,就不说了,网上有。 看到xdjm还以为你是西电(xd)的呢!网上一搜原来不是一个意思!
呵呵~ 这是不报错的,但是会有警告~最好不要这样写~一个真正没有语法错误的程序应该是既无ERROR又无WARNING的!
因为int类型的返回值函数是最常用的!由于习惯的原因,也为了简化操作,c默认为整形返回值。
那是默认的!最好加上,不然在大的工程里面还是会造成麻烦的!的!
答:小学生童谣怎么写 写童谣,其实就是写简短的口语化的儿童诗。主要从四个方面培养自己的写作技巧: 一、可仿写,一开始时,我们写童谣肯定有困难,这时,你可以学...详情>>
问:挺简单的一C函数,不过我是初学者,暂时还不会写,请好心人多多帮忙!
答:int mystrlen(char *str) { int n = 0; while (*str) { n++; str++;} return n; } voi...详情>>