1.指针减指针,得到的是两者间的元素个数,所以说呢,第二个空答案是-4(因为是小地址-大地址) 2.至于第一个空,因为要打印地址,是按照16进制形式进行打印,并且编译器先把-4转变成为补码,-4变成11111111111111111111111111111100,而对于地址没有反码补码的概念,编译器将这个-4的补码直接转换为地址,变成FFFFFFFC,并打印...
int main(){char *c[] = {"ENTER","NEW","POINT","FIRST"};char**cp[] = {c+3,c+2,c+1,c};char***cpp = cp;printf("%s\n", **++cpp);printf("%s\n", *--*++cpp+3);printf("%s\n", *cpp[-2]+3);printf("%s\n", cpp[-1][-1]+1);return 0;} 这道题是真的有趣,...
解体思路:先申明两个int型的指针,用来指向最大值和最小值,遍历数组把最大值指针指向最大值,最小值指针指向最小值,然后把最大值指针指向的数和数组第一个对换,最小值指针指向的数和数组最后一个对换 代码如下: 1#include <stdio.h>2#defineN 834voidchange(int*a,int*b,intsad[]);5intmain(void)6{7i...
易出错的C语言题目之二:指针 一、写出输出结果 #include<stdio.h> int main(){ int a[3]; a[0] = 0; a[1] = 1; a[2] = 2; int *p,*q; p = a; q = &a[2]; int c = a[q-p]; printf("value c = %d/n",c++); printf("value c = %d/n",c); return 0; } 答案: valu...
本章内容主要讲解指针练习题,里面的内容是我对这些练习题的一些理解。如有对C语言指针有疑问,可以查看我之前对指针介绍的三篇文章,希望可以帮助到大家。 题目一: 解答: 数组如图1.1所示,下面分布解释代码: int a[5] = {1,2,3,4,5};创建一个存放5个元素的数组,数组名为a,数组元素为1,2,3,4,5。
面试题目:C语言指针 指纹 人生多苦多难才是常态~4 人赞同了该文章 题目一:数据声明类 1,用变量a给出下面的定义 a) 一个整型数 b)一个指向整型数的指针 c)一个指向指针的的指针,它指向的指针是指向一个整型数 d)一个有10个整型数的数组 e) 一个有10个指针的数组,该指针是指向一个整型数的 f) 一...
C语言中,指针数组经常用于存储一组字符串或一组指向不同类型对象的指针。 下面是一些经典的题目,对指针数组进行详细解析。 题目1:将一个字符串数组按字典排序。 解析:首先,我们声明一个指向字符串的指针数组,将字符串数组的每个元素赋值给指针数组的对应元素。然后使用冒泡排序法对指针数组进行排序,最后按照排序后的...
题目代码 一、解题思路 1、首先,我们看到move函数是一个带参函数,定义了三个整形变量:指针变量a指向序列a的首地址、n为序列的长度、m为控制整体循环的上限次数; 2、然后,在函数体内,又定义了三个变量:指针变量p用来实现序列地址的移动从而达到对序列的地址进行遍历的效果、变量k用来控制整体循环的遍历、变量temp暂...
C语言笔试题目指针 早上看到的题目,但是现在去找没看到了。 凭记忆写一下 #include"stdio.h"#include"stdint.h"intmain(){uint16_ta[12]={0x11,0x12,0x13,0x14,0x77,0x88};uint32_t*p=(uint32_t*)&a[0];p++;printf("%4X\n",*p);return0;}...
表示地址的方式(指针) int a = 5; int* pa = &a; 表示pa指向了一个int型变量 也可以称其为pa所在的内存为一个int型的整数 我们成int*为指针类型,pa为指针类型的变量(简称指针) 关于指针 1)指针是变量,是可以变的。 int a = 10; int b = 11; ...