单选题
1、第272题 (1.0分) 题号:702 对于基本类型相同的两个指针变量之间,不能进行的运算是()。
A
<
B
=
C
+
D
-
答案解析
正确答案:C
解析:
**解析:**
在 C/C++ 等编程语言中,指针变量存储的是内存地址。对于指向相同基本类型的两个指针变量,编译器允许进行以下几种运算:
1. **关系运算(如 `<`, `>`, `==`, `!=` 等)**:
* 可以比较两个指针所指向的内存地址的大小或是否相等。这通常用于判断两个指针是否指向同一对象,或者在数组中判断元素的先后顺序。因此,选项 A (`<`) 是合法的。
2. **赋值运算(`=`)**:
* 可以将一个指针的值(地址)赋给另一个同类型的指针。例如 `p1 = p2;` 是合法的操作。因此,选项 B (`=`) 是合法的。
3. **减法运算(`-`)**:
* 两个同类型指针相减,结果是它们之间相差的元素个数(类型为 `ptrdiff_t`)。这在计算数组中两个元素之间的距离时非常有用。因此,选项 D (`-`) 是合法的。
4. **加法运算(`+`)**:
* **两个指针相加是没有意义的**。因为地址加上地址得到的结果不是一个有效的内存地址概念,也无法表示任何逻辑上的偏移量或位置。编译器会报错。
* *注意*:指针可以与整数相加(如 `p + 1`),表示指向下一个元素,但**指针与指针不能相加**。
综上所述,两个指针变量之间不能进行的运算是加法运算。
**正确答案:C**
题目纠错
c语言选择判断题库
相关题目
单选题
1、〖第27题〗47) 执行下列语句后,a和b的值分别为()。 int a,b; a=1+'a'; b=2+7%-4-'A';
单选题
1、〖第26题〗664) 以下正确的函数定义形式是()。
单选题
1、〖第25题〗01) 以下数据中,不正确的数值或字符常量是()。
单选题
1、〖第24题〗92) 下面选择中正确的赋值语句是(设char a[5],*p=a;)()。
单选题
1、〖第23题〗647) 以下能对二维数组a进行正确初始化的语句是()。
单选题
1、〖第22题〗06) 以下叙述中不正确的是()。
单选题
1、〖第21题〗433) 下列程序的输出为()。 main() { int y=10; while(y--) ; printf(”y=%d\n”,y); }
单选题
1、〖第20题〗453) 以下函数调用语句中实参的个数是()。 exce((v1,v2),(v3,v4,v5),v6);
单选题
1、〖第19题〗655) 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,
单选题
1、〖第18题〗378) 下列字符序列中,不可用作C语言标识符的是()。
