关于#c语言#的问题:打印9行及以上时,不仅third函数会打印不全,first函数也会打印出错.例如这几张分别打印8(开发工具-vscode)

vscode打印杨辉三角时遇到的问题。
这是我的代码

img

img

img


如果我打印小于8行的杨辉三角是没问题的

img


但是如果打印8行及以上时,third函数就打印不全,只能打印7行;打印9行及以上时,不仅third函数会打印不全,first函数也会打印出错.
例如这几张分别打印8,9,10行时的结果

img

img

img

(arr+i)[j] 这样写,访问的比 hang 多,越界了吧
主程序把arr定义大一些

修改这样试试:

#define hang 15

void third(int (*arr)[hang], int sz) {
    int i = 0;
    int j = 0;
    for (i = 0; i < sz; i++) {
        int p = 0;
        for (p = 0; p < sz - i - 1; p++) {
            printf(" ");
        }
        for (j = 0; j <= i; j++) {
            printf("%d ", (*(arr + i))[j]);
        }
        printf("\n");
    }
}
  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7803998
  • 除此之外, 这篇博客: C语言零基础入门级学习程序框架【系统学习第一天】中的 【13】苹果笔记本安装VScode教程 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 官方网址

    安装vscode,点击下载
    在下载界面,找到对应系统的版本。
    在这里插入图片描述

    2.苹果系统本身已经自带了C和C++的编译环境,因此可以直接在文件夹中创建源码文件,编辑并编译运行。编译的时候,右键点击文件,在弹出的菜单中点击“在终端中打开”:
    在这里插入图片描述

    在终端中,直接敲命令编译程序:
    // 编译并运行C语言代码:
    gcc a.c
    ./a.out
    
    // 编译并运行C++代码:
    g++ a.cpp
    ./a.out  
    

    在这里插入图片描述