C语言—每日选择题—Day57

news/2024/7/5 1:56:07

指针相关博客

打响指针的第一枪:指针家族-CSDN博客

深入理解:指针变量的解引用 与 加法运算-CSDN博客

第一题

1. 下面程序段()

char *str[] = {"ABC", "DEF", "GHI"};
puts(str[1]);

A:ABC

B:GHI

C:D

D:DEF

答案及解析 D

本题考查的是指针数组, 打响指针的第一枪:指针家族-CSDN博客

str[1]是字符串“DEF”的首元素地址,打印字符串就是放首元素地址,然后puts会找\0,遇到\0停止打印;

第二题

2. 32位系统,函数 void Func(char str[100]){} 中 sizeof(str) 的大小为()

A:4

B:5

C:6

D:7

答案及解析 A

        记住一点,数组传参的时候,形参会降成指针。所以str就是一个char*类型的指针,32位系统就是4字节。

第三题

3. 下面代码在64为系统下的输出为()

void print_array(int arr[]) 
{
    int n = sizeof(arr) / sizeof(arr[0]);
    for (int i = 0; i < n; i++)
        printf("%d ", arr[i]);
}
 
int main() 
{
    int arr[] = {1, 2, 3, 4, 5};
    print_array(arr);
    return 0;
}

A:1

B:1 2

C:1 2 3 4 5

D:Run time error

答案及解析 B

        这个题其实就是上面的题复杂一点,一定要记着数组传参的时候会被降为指针哦~

64位系统,指针大小为8字节,所以n = 2;那输出的就是前两个元素1,2;

第四题

4. 运行以下C语言代码,输出的结果是()

#include <stdio.h>
int main()
{
    char *str[3] ={"stra", "strb", "strc"};
    char *p =str[0];
    int i = 0;
    while(i < 3)
    {
        printf("%s ",p++);
        i++;
    }
    return 0;
}

A:stra strb strc

B:s t r

C:stra tra ra

D:s s s

答案及解析 C

真的十分建议大家去看看指针的两个博客,对做指针的题很有帮助哦!

做指针的题必须要画图!首先p = str[0],str数组是一个指针数组,所以str[0]是字符串“stra”的首元素地址,那p++,就要看p的类型,p是char*类型,那就往后移动一个字节,所以就到t位置,之后到r位置。依次打印出来就是stra,tra,ra;

第五题

5. 在gcc编译器中,下面程序的运行结果是()

#include<stdio.h>
int main(void)
{
    int x[5] = {2,4,6,8,10},*p;
    int (*pp)[5];
    p=x;
    pp=&x;
    printf ("%d\n",*(p++));
    printf ("%d\n",*pp);
}

A:4 4

B:2 4

C:2 随机值

D:4 6

答案及解析 C

这个题很不错,我相信大家第一个输出语句为2肯定没问题,直接看第二个输出语句

        *pp,先看pp是什么,pp是一个数组指针,存的是整个数组的地址,后面赋值pp = &x,那 *pp = *&x = x,x是首元素的地址。所以第二个语句打印的应该是这个数组的首元素的地址;但是大家要记住一点,我们每次程序执行的时候,开辟的空间都不是固定的,所以这个数组的地址就是不固定的,那首元素的地址就是随机值。


http://lihuaxi.xjx100.cn/news/1905577.html

相关文章

掌握pip的基本命令和高级用法:轻松管理Python包

掌握pip的基本命令和高级用法 一、简介二、安装和配置pip三、基本命令和用法3.1、安装和卸载包3.2、包管理3.3、包依赖管理3.4、虚拟环境管理 四、高级用法4.1、自定义pip的配置4.2、使用requirements.txt文件管理项目依赖4.3、创建和发布自己的Python包4.4、使用pip下载非Pyth…

开展人事档案数字化需要注意什么

人事档案数字化是指将传统的纸质人事档案转化为数字形式&#xff0c;并通过信息技术进行管理和存储的过程。这种方式可以提高人事档案的管理效率、减少文件存储空间&#xff0c;方便查询和检索信息&#xff0c;同时减少人为错误和损毁风险。 专久智能认为开展人事档案数字化需要…

C#文件操作(一)

一、前言 学习心得&#xff1a;C# 入门经典第8版书中的第20章《文件》 二、操作文件的相关类 在C#应用程序中Syste.IO名称空间包含用于在文件中读写数据的类。在此我列举一下File、Directory、Path、FileInfo、DirectoryInfo、FileSystemInfo、FileSystemWatcher。其中在Syste…

CTF-PWN-堆-【use after free-2】

文章目录 fheap libc 2.23 64位检查maincreatedelete 思路覆盖目标函数的指针printf内部调用覆盖的函数前调用 printf时的栈实际去的函数的地方查找当前版本对应的libc_start_main和system计算出system的libc基地址exp fheap libc 2.23 64位 检查 main 多层while&#xff0c;…

《PySpark大数据分析实战》-16.云服务模式Databricks介绍运行案例

&#x1f4cb; 博主简介 &#x1f496; 作者简介&#xff1a;大家好&#xff0c;我是wux_labs。&#x1f61c; 热衷于各种主流技术&#xff0c;热爱数据科学、机器学习、云计算、人工智能。 通过了TiDB数据库专员&#xff08;PCTA&#xff09;、TiDB数据库专家&#xff08;PCTP…

JS 实现带手柄自由调整页面大小的功能

当你想实现点击并拖动某个dic元素来调整其大小的时候&#xff0c;我们可以通过如下代码(可直接复制粘贴运行)实现效果&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport&qu…

基于Java版本与鸿鹄企业电子招投标系统的二次开发实践-鸿鹄企业电子招投标系统源代码+支持二开+鸿鹄电子招投标系统

随着市场竞争的加剧和企业规模的扩大&#xff0c;招采管理逐渐成为企业核心竞争力的重要组成部分。为了提高招采工作的效率和质量&#xff0c;我们提出了一种基于电子化平台的解决方案。该方案旨在通过电子化招投标&#xff0c;使得招标采购的质量更高、速度更快&#xff0c;同…

SLAM算法与工程实践——RTKLIB编译

SLAM算法与工程实践系列文章 下面是SLAM算法与工程实践系列文章的总链接&#xff0c;本人发表这个系列的文章链接均收录于此 SLAM算法与工程实践系列文章链接 下面是专栏地址&#xff1a; SLAM算法与工程实践系列专栏 文章目录 SLAM算法与工程实践系列文章SLAM算法与工程实践…