C语言操作字符练习题---跟着鹏哥学C语言第二天打卡

C语言操作字符练习题---跟着鹏哥学C语言第二天打卡_第1张图片

选A 这里的字符串“hello bit”=“hello bit\0”(此处是有空格,在字符串里每个符号包空格都是由阿斯科码值组成,所以每个字符都会各自存储一个字节的空间,包括后面隐藏的‘\0’(字符串内都会有))

strlen计算包括空格

所以sizeof str=10,strlen str=9

C语言操作字符练习题---跟着鹏哥学C语言第二天打卡_第2张图片

选C‘单引号’没有隐藏的\0,所以所字符串长度会是随机值,理论上字符串长度没有acy长

C语言操作字符练习题---跟着鹏哥学C语言第二天打卡_第3张图片

 二维数组行可以省略,列不可以省略,D编译不允许空着,语法规则不允许

编程题目来了

第一题,数组初始化,打印数组每一位、数组逆序

void print(int a[], int sz)
{
    int i = 0;
    for (i = 0;i < sz; i++)
    {
        printf(" %d ",a[i]);
    }
}
void init(int a[], int sz)
{
    int i = 0;
    for (i = 0; i < sz; i++)
    {
        a[i] = 0;
    }
}
void revese(int a[], int sz)
{
    int left = 0;
    int right = sz-1;
    while(left

总结:a[]={1,2}、a[]={'1','2'}、a[]={"1","2"}都不一样

输入实参的时候,要注意编写相关函数的形参和实参要相同类型(比如都是数组)

for中最后的i++,是实现一轮循环里最后的执行操作

第二题 交换数组

void change_q(int a[], int b[],int sz)
{
    int i = 0;
    int temp = 0;
    for (i = 0; i < sz; i++)
    {
        temp = a[i];
        a[i] = b[i];
        b[i] = temp;
    }
}
int main()
{
    int a[] = {1,2,3,4,5,6,7};
    int b[] = {8,9,10,11,12,13,14};
    int sz = 0;
    sz = sizeof(a) / sizeof(a[0]);
    change_q(a,b,sz);
    return 0;
}

总结:数组作为实参输入的时候,写变量名即可,而定义形参的时候,数组要加[ ]。

第三题 三子棋

第四题 冒泡排序

第五题 扫雷游戏

你可能感兴趣的:(学习,c语言)