对"return"比较迷茫
书上有一个例题编写函数统计输入字符的个数,用@字符结束输入.在主函数中调用此函数,输出统计结果.
#include <stdio.h>
long countch();
main()
{
long n;
n=countch();
printf("n=%ld\n",n);
}
int countch()
{
long cn;
for(cn=0;getchar()!='@';cn++);
return cn;
}
书上是这么写的结果,我这里有几个问题请老鸟们解惑.
1.声明n为long类型,和声明为int类型有什么不同呢,仅仅是内存占用不同么.
2.我在调试过程中,把"return cn;"语句删除了,结果可以通过,但是不管怎么输入,输出结果都是n=64.
这是为什么呢."return cn;"有什么作用?删除以后为什么结果总是64呢.
[[it] 本帖最后由 sct1981 于 2008-6-4 15:50 编辑 [/it]]