开发者社区 问答 正文

null?报错

#include <stdio.h>
void main(){
	
printf("abc");
int d=10;
printf("%d",d);

}

为什么会报错呢,把int d;放到前面

即声明在输出语句前面就没错,难道输出语句后 不能再有声明 语句吗?

展开
收起
爱吃鱼的程序员 2020-06-22 14:40:48 417 分享 版权
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    程序是按顺序执行的,一步一步的<divclass="ref">

    引用来自“zcloud”的答案

    <divclass=ref_body>程序是按顺序执行的,一步一步的不在printf()之前的变量当然不可引用,又不是函数外的全局变量c语言只能在block开头定义变量换支持c99的编译器,或者用c++编译器回复<aclass='referer'target='_blank'>@陈悊:VC++2013已經"開始"支持c99了:P回复<aclass='referer'target='_blank'>@SunnyKui:用MinGW,怕麻烦的话,直接下载Code::Blocks用回复<aclass='referer'target='_blank'>@陈悊:那我windows平台下用啥好,推荐下呗回复<aclass='referer'target='_blank'>@SunnyKui:VC系列编译器到最新版都只支持C89……放弃VC吧,少年。我用的是vc6.0写成.cpp的编译时不报错,运行时报错这个编译器也太旧了吧,c99也不支持。<divclass="ref">

    引用来自“xosdy”的答案

    <divclass=ref_body>c语言只能在block开头定义变量<divclass="ref">

    引用来自“SunnyKui”的答案

    <divclass="ref_body"><divclass="ref">

    引用来自“xosdy”的答案

    <divclass="ref_body">c语言只能在block开头定义变量回复<aclass='referer'target='_blank'>@SunnyKui:我這裏沒有VC環境,在gcc下是正常的.在C99後,C可在任何你需要使用的地方聲明變量,換個新的編譯器吧为啥在定义为.cpp文件后编译时没问题,运行时出错呢?<divclass="ref">

    引用来自“lheric”的答案

    <divclass=ref_body>这个编译器也太旧了吧,c99也不支持。楼主尤其花时间去琢磨这些,还不如找本C教程好好把基础打牢恩,谢谢跟编译器相关、不过C语言还是建议变量申明在开头,习惯了

    2020-06-22 14:41:04
    赞同 展开评论
问答分类:
C++
问答地址: