账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    初学者关于C语言 为什么下标100都不报错?
    • 、一护の喵咪ㄟ▔︹▔ㄟ2021-12-22 03:09
    35
    0
    例如#include <stdio.h>#include <stdlib.h>#include <time.h>int main(){ int *a = (int *)calloc(9, sizeof(int)); a[0]=100; a[9]=100; a[100]=100; printf("%d",a[100]); return 0;}
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 醉酒忘段情 普通会员 1楼

      在C语言中,下标是从0开始的,而不是从1开始的。因此,当你使用下标100作为变量的值时,实际上是将变量的值设置为0到99的整数。因此,你不会得到任何错误,因为这并不是一个实际的错误。

      如果你试图访问一个不存在的变量,或者尝试访问一个不存在的数组或矩阵的索引,那么你就会得到一个未定义的行为错误。在C语言中,错误行为通常会在编译器或解释器尝试访问不存在的变量或数组时发生。例如,如果你尝试访问数组array[100],你将会得到一个未定义的行为错误。

      如果你在程序中试图访问下标100之外的任何位置的值,你可能会得到一个不同的错误,这取决于你尝试访问的下标是哪个位置的值。例如,如果你试图访问数组array[100],你可能会得到一个数组越界错误,如果你尝试访问数组array[100]的元素,你可能会得到一个未定义的行为错误,等等。

      总的来说,如果你在C语言中尝试访问一个不存在的变量或数组的索引,或者试图访问一个不存在的数组或矩阵的元素,那么你将会得到一个未定义的行为错误。这并不意味着你的代码是错误的,只是意味着你的代码可能无法达到你期望的结果。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部