[C++]函数原型为 abc(float x,char y);为什么返回值类型是int.

还有关于返回值问题能详细解答一下么?

还有一个问题:

有这样一个 元素为10的数组;a[10].
a[0]=9;
a[1]=4;
a[2]=12;
a[3]=8;
a[4]=2;
a[5]=10;
a[6]=7;
a[7]=5;
a[8]=1;
a[9]=3;

是这样的。
有一个问题是说以下什么不能正确访问该数组元素。
答案的意思是a[a[8]+a[2]]可以访问,为什么呀?!

  C++函数原型为 abc(float x,char y);而返回值类型是int的原因如下:
  因为返回值类型和参数类型没有关系,不是说函数原型的参数类型就是返回值类型,在 c或c++语言中很多函数一般返回值类型都是int,在C++中,函数的返回类型默认是int型的,如果不强制性规定函数的返回类型,系统就会默认该函数的返回类型是int型。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-01-02
一、在C++中,函数的返回类型默认是int型的,如果你不写函数的返回类型,那系统就为默认该函数的返回类型是int型的,
二、数组的下标只要是整数表达式就可以,像你说的a[a[8]+a[2]];这相当于a[13],很明显它是越界了,但是,记住一点,数组是不会检查下标越界的,也就是说不会警告也不会报错,只是a[13]输出的值会是一个随机的不确定值追问

谢谢你,也谢谢上面几个。
那个数组的问题是这样的。

以下 ( ) 不能正确访问该数组的数组元素。
A.a[a[0]]
B.a[a[2]]
C.a[a[1]+a[9]]
D.a[a[8]+a[0]]

答案是B.为什么呢?!

追答

B,下标超出了这个数组的长度,所以不能访问该数组的元素,
D,我较的也不行,因为也超出了数组的长度,也不能访问该数组的元素

本回答被提问者采纳
第2个回答  2012-01-02
返回值类型和参数类型没有关系啊
比如
int abc(float x,char y)
{
if(y=='a')
return 1;
else
return 0;
}

a[a[8]+a[2]]就是 a[13],这个已经越界,访问这个位置结果未知
第3个回答  2012-01-02
在 c语言中好多的函数一般都是int型的值作为返回值
相似回答