C语言auto修饰符使用

#include <stdio.h>
int main()
{
    int i,num;
    num=2;
    printf("num11 变量为 %d \n",num);
    for(i=0;i<3;i++)
    {
        printf("num 变量为 %d \n",num);
        num++;
        printf("num++ 变量为 %d \n",num);
        {
            printf("num22 变量为 %d \n",num);
            auto int num=1;
            printf("内置模块 num 变量为 %d \n",num);
            num++;
            printf("num+++ 变量为 %d \n",num);
        }
    }
    return 0;
}

第一次执行到printf("num22 变量为 %d \n",num),为什么num变量值为0

你用的是哪个版本的编译器?  “auto" 的定义在 C 语言中有变化:  auto (C++) | Microsoft Docs

 

    auto int num=1;   

是不符合语法的, 要改为:

    auto num=1;
不知道你这个问题是否已经解决, 如果还没有解决的话:

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