夜雨de街灯 发表于 2016-3-11 09:22:39

字符数组问题!!

本帖最后由 夜雨de街灯 于 2016-3-14 00:14 编辑

为什么我定义一个字符数组a的长度为1,可是我输入四个字符也没有问题,直到输入五个字符才会报错!!
不要让我去百度,百度搜不到....


以下是代码:
#include <stdio.h>
void main(void)
{
    char a;
        printf("%d\n",sizeof(a));                //        a数组为多少字节
        printf("input string:\n");
        scanf("%s",a);                                        //输入字符串
        printf("%s\n",a);                                //输出字符串
}


上图片:

machimilk 发表于 2016-3-11 12:15:10

申请一个车位,停了5辆车,别人来了,砸了你乱停的车

夜雨de街灯 发表于 2016-3-13 19:09:03

machimilk 发表于 2016-3-11 12:15
申请一个车位,停了5辆车,别人来了,砸了你乱停的车

什么意思{:10_277:}

夜雨de街灯 发表于 2016-3-14 00:12:48

大神快来{:10_262:}

夜雨de街灯 发表于 2016-3-14 00:16:03

machimilk 发表于 2016-3-11 12:15
申请一个车位,停了5辆车,别人来了,砸了你乱停的车

难道申请一个车位,停了4辆车,别人就不来砸你乱停的车?{:10_274:}

machimilk 发表于 2016-3-14 00:29:22

夜雨de街灯 发表于 2016-3-14 00:16
难道申请一个车位,停了4辆车,别人就不来砸你乱停的车?

只是人家没来得及砸那么多,你申请一个车位,理论上超过你申请的,都是不安全的,但是由于内存对齐,都是4的倍数所以人家暂时没砸你申请1后面的3辆(侥幸而已),要停多少车就最少要申请多少车位,这样比较安全

machimilk 发表于 2016-3-14 00:29:57

夜雨de街灯 发表于 2016-3-14 00:16
难道申请一个车位,停了4辆车,别人就不来砸你乱停的车?

只是人家没来得及砸那么多,你申请一个车位,理论上超过你申请的,都是不安全的,但是由于内存对齐,都是4的倍数所以人家暂时没砸你申请1后面的3辆(侥幸而已),要停多少车就最少要申请多少车位,这样比较安全

DAY 发表于 2016-3-14 08:28:38

数据的溢出。。。。

夜雨de街灯 发表于 2016-3-14 08:47:56

DAY 发表于 2016-3-14 08:28
数据的溢出。。。。

为什么打四个进去没有溢出{:10_277:}
页: [1]
查看完整版本: 字符数组问题!!