这段代码中注释掉的代码我发现可有可无,不知道起什么作用#include <stdio.h>

这段代码中注释掉的代码我发现可有可无,不知道起什么作用

#include<stdio.h>
#include<stdlib.h>
int main(void)
{
    int *ptr = NULL;
    int num,i;
    printf("请输入待录入整数的个数:");
    scanf("%d",&num);
    ptr = (int *)malloc(num * sizeof(int));
    for(i = 0;i < num;i++)
    {
        printf("请录入第%d个整数:",i+1);
        scanf("%d",&ptr[i]);
    }
    printf("你录入的整数是:");
    for(i = 0;i < num;i++)
    {
        printf("%d ",ptr[i]);
    }
    //putchar('\n');
    free(ptr);
    return 0; 
}

putchar在结尾输出一个换行

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/775753
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:预处理中的头文件stdio.h在哪?里面有什么?
  • 除此之外, 这篇博客: 用函数计算两个正整数的最小公倍数中的 include “stdio.h” 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    int fun(int m,int n)
    {
    int a,b,c; a=m; b=n; c=a%b; while(c!=0) {a=b;b=c;c=a%b;} return m*n/b;
    }

    void main()
    {
    int m,n,i,t;
    printf(“Enter m,n :\n”);
    scanf(“%d,%d”,&m,&n);
    if(m>n) { t=m; m=n; n=t; }
    printf(“The Lowest Common Multiple Of %d and %d is %d\n”,m,n,fun(m,n));
    }“`这里写图片描述

  • 以下回答来自chatgpt:

    在这段代码中,注释掉的#include 代码的作用是引用了stdio.h头文件。stdio.h是标准输入/输出头文件,其中包含了一些输入和输出的函数,比如printf和scanf。通过包含stdio.h头文件,就可以使用这些函数来进行输入和输出操作。

    头文件的作用是向编译器提供函数的声明,使得可以在当前源文件中使用这些函数,而不需要自己进行声明。包含了之后,就可以直接使用其中的函数printf和scanf,而不需要自己进行函数声明。

    在预编译阶段,使用#include指令,会将stdio.h中的函数声明放到当前的.c文件中。在链接阶段,链接器会根据函数的声明去查找函数的定义,一般是在系统目录下的标准库中,比如libc.so中。找到了函数的定义后,就可以正常使用这些函数。

    所以,在这段代码中,注释掉的#include 代码的作用是包含了stdio.h头文件,使得可以使用其中的函数printf和scanf进行输入和输出操作。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^