liyiqi 发表于 2019-10-22 17:42:29

为什么我用devc++运行是着样

#include<stdio.h>
int main()
{
        char star1;
        scanf("%s",star1);
        printf("uii\n");
        printf("%s",star1);
        return 0;
}
我输入qwertyuiopasdfghjklzxcvbnm
输出是26个子母,不应该是前20个嘛?

jackz007 发表于 2019-10-22 17:55:34

      你这是下标越界的结果,具体应该输出什么,取决于程序中的变量布局和实际运行环境。

      我很好奇,楼主为什么要这样用字符串数组,这本身就是违规的,任何编译器都不会为违规使用的结果负责,难道楼主还希望在违规结果中寻找规律?

liyiqi 发表于 2019-10-22 18:05:23

jackz007 发表于 2019-10-22 17:55
你这是下标越界的结果,具体应该输出什么,取决于程序中的变量布局和实际运行环境。

      我 ...

我想看一如果我超出编译器是否会删出
页: [1]
查看完整版本: 为什么我用devc++运行是着样