学c学的好不好,做完这些题你就知道了。
1.
char str[4] = {'0', '1', '2', '3'};
printf("str: %s\n", str);
char str1[5] = {'0', '1', '2', '3'};
printf("str1: %s\n", str1);
char str2[4] = "calc";
printf("str2: %s\n", str2);
char str3[5] = "calc";
printf("str3: %s\n", str3);
2.
char str[4] = {'0', '1', '2', '3'};
printf("str: %d\n", sizeof(str));
char *p_str = str;
printf("p_str: %d\n", sizeof(p_str));
char str1[5] = {'0', '1', '2', '3'};
printf("str1: %d\n", sizeof(str1));
char *p_str1 = str1;
printf("p_str1: %d\n", sizeof(p_str1));
char str2[4] = "calc";
printf("str2: %d\n", sizeof(str2));
char *p_str2 = str2;
printf("p_str2: %d\n", sizeof(p_str2));
char str3[5] = "calc";
printf("str3: %d\n", sizeof(str3));
char *p_str3 = str3;
printf("p_str3: %d\n", sizeof(p_str3));
char str4 = '1001';
printf("str4: %d\n", sizeof(str4));
printf("str4: %d\n", sizeof('1001'));
3.
int num[5] = {0, 1, 2, 3, 4};
printf("num: %d\n", sizeof(num));
int *n = num;
printf("n: %d\n", sizeof(n));
int num1[] = {0, 1, 2, 3, 4};
printf("num1: %d\n", sizeof(num1));
4.
printf("%c, %d\n", '\0', '\0');
printf("%c, %d\n", 0, 0);
printf("%c, %d\n", '0', '0');
5.int a[10] = {2, 4, 3, 4, 5, 6, 7, 8, 9, 10};
printf("%d\n", &a[9]-&a[3]);
printf("%d\n", *(&a[3]+2));
6.#include <stdio.h>
void go(int a[10])
{
printf("子函数a: %d", sizeof(a));
}
int main()
{
int a[10];
printf("主函数a: %d", sizeof(a));
go(a);
getchar();
return 0;
}
答案见下篇: