错题集

这篇博客通过一系列的问题和判断题,详细讲解了C语言中关于字符串处理、数组、指针、数组名的本质以及内存分配等常见错误和理解误区,帮助读者纠正编程中的常见错误观念。
摘要由CSDN通过智能技术生成

在这里插入代码片# 错题集

  1. 函数strcmp从头至尾顺序地将其对应字符比较,遇到两个字符不等时,两个字符相减得到一个int型值,两个字符串完全相同时,则返回0 判断是正确的
  2. 对于已正确定义的二维数组a, *(a[i]+j)与a[i][j]的含义相同。 判断是正确的
  3. 数组名就是一个指针常量,指向数组的首元素(或者说代表了数组的首地址)。 判断是错误的
    数组名不是指针,而是地址
  4. 在C语言中能逐个地使用下标变量,也能一次引用整个数组。 判断是错误的
    不能一次性引用整个数组
  5. 在定义数组之后,根据数组中元素的类型及个数,在内存中分配一段连续存储单元用于存放数组中的各个元素。 判断是正确的
  6. 在定义数组之后,根据数组中元素的类型及个数,在内存中分配一段连续存储单元用于存放数组中的各个元素。 判断是正确的
  7. 若有定义int a[]={2,4,6,8,10},a[1]和a++表示的含义相同。 判断是错误的
    a代表常量,常量不能自增
  8. 不正确的赋值或赋初值的方式是__C__。

A.char str[]=“string”;
B.char str[7]={‘s’, ‘t’, ‘r’, ‘i’, ‘n’, ‘g’};
C.char str[10];str=“string”;
D.char str[7]={‘s’, ‘t’, ‘r’, ‘i’, ‘n’, ‘g’, '\0’};
数组名不能赋值
10. 以下哪个定义中的p不是指针,请选择恰当的选项: _C

A.char **p;
B.char (*p)[10];
C.char *p[6];
D.给出的三项中,p都是指针
*char p[6]代表的是指针数组,它里面的元素才是指针
10.若用数组名作为函数调用的实参,则传递给形参的是 A_

A.数组的首地址
B.数组第一个元素的值
C.数组中全部元素的值
D.数组元素的个数
11.选择排序

#include <stdio.h>
#define MAXN 10
int main()
{
   
    int i, index, k, n, temp;
    int a[MAXN];

    scanf("%d", &n);
    for(i = 0; i < n; i++){
   
        scanf("%d", &a[i]);
    }
  for(k 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值