Ⅰ、关于return易错问题
以下正确:
以下错误:
eg:一个调用函数中,运用条件判断,可以出现多个return,只不过,根据条件的符合才会输出。
int fun(int n)
{
if (n <= 10)
return n - 1;
else
return n;
}
Ⅱ、关于函数定义。
需要注意的是:该调用函数的返回值是根据函数类型返回,输出的是9,而不是9.9。
Ⅲ、关于数组
①? ? ? ? ? ? ? ? ??
数组名,可以看作一个常量指针。
所以改变形参的同时,也可以改变实参。
/*void fun(int arr[]);
int arr[3] = { 1,2,3 };
fun(arr);
for (int i = 0; i < 3; i++)
cout <<arr[i] << "\t";
return 0;
}void fun(int arr[])
{
for (int i = 0; i < 3; i++)
arr[i] = i + 10;
}*/
void fun(int *arr);
int arr[3] = { 1,2,3 };
fun(arr);
for (int i = 0; i < 3; i++)
cout <<arr[i] << "\t";
return 0;
}void fun(int *arr)
{
for (int i = 0; i < 3; i++)
arr[i] = i + 10;
}
②、关于数组的定义。
③、
数组x的长度大于y。
int main() {
char arr[] = "abcdef";
cout << "arr长度为:" << sizeof(arr) << endl;
char arr1[] = { 'a','b','c','d','e','f' };
cout << "arr1长度为:" << sizeof(arr1) / sizeof(arr1[0]) << endl;
return 0;
}
sizeof()计算字符串长度包含'\0';所以arr所占空间数为7。
arr1[]中存储了字符型表示的'a', 'b', 'c', 'd', 'e', 'f' ,不包含'\0',所以arr3所占空间数为6。
Ⅳ、二维数组我有疑问:最后一个元素个数是什么意思。
答案是6,arr[1][2];