(1)
#include<stdio.h>
void test1(int arr[])
{
printf("%d\n", sizeof(arr)); //4
}
void test2(char ch[])
{
printf("%d\n", sizeof(ch)); //4
}
int main()
{
int arr[10] = { 0 };
char ch[10] = { 0 };
printf("%d\n", sizeof(arr)); //40
printf("%d\n", sizeof(ch)); //10
test1(arr);
test2(ch);
return 0;
}
* 被函数所传递时,只传递地址,当数组当参数时,会退化为指针,在目前32位下,指针大小为4
(2)&& ||
a=0,b=2 , c=3 , d=4
i=a++&&++b&&d++(短路求值:在与运算中,当a为0后,后面的运算就不用进行,整个条件的结果为假)
输出时仅a+1=>a=1 b=2 c=3 d=4
(3)条件操作符
exp1?exp2:exp3
*exp1为真 取exp2
exp1为假取exp3
(4)逗号表达式
exp1,exp2,exp3.....
*从左到右依次执行,整个表达式的结果是最后一个的表达式的结果。