社区
C语言
帖子详情
c99标准里面不允许这样for(int i = 0; i < n; ++i)???
小小攻城师
2009-12-11 04:08:39
如题 请知道的回答一下
我在oj上提交的时候他说才c99不允许在for()里面定义int
我把它放到外面就没有问题
求问标准到底是能还是不能?
我一直以为能 从我学习c开始就以为能
...全文
9294
30
打赏
收藏
c99标准里面不允许这样for(int i = 0; i < n; ++i)???
如题 请知道的回答一下 我在oj上提交的时候他说才c99不允许在for()里面定义int 我把它放到外面就没有问题 求问标准到底是能还是不能? 我一直以为能 从我学习c开始就以为能
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
30 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
swordsman
2012-07-13
打赏
举报
回复
哎,有用。
dotmanhan
2011-08-10
打赏
举报
回复
很有用
durant
2009-12-12
打赏
举报
回复
[Quote=引用 25 楼 huiguixian 的回复:]
引用 22 楼 wangjun403 的回复:
GCC下可以在C程序里这样定义
但不可以在C++程序里这样定义!
LZ是不是在C++程序里这样定义了?
引用 24 楼 gingzai777 的回复:
这个好像原先是C++的语法(不知道是否叫语法,反正C++支持的)
后来C99加上去的。
两个刚好相反,我该信哪一个?
[/Quote]
反正我在GCC下编译的时候(没有加任何选项),是我说的那样,其他的我就不知道了
chaoliu1024
2009-12-11
打赏
举报
回复
C89不支持的,C89在定义变量时要在一切动作之前,就是我们常常在函数最开始处。如:
int main(void)
{
int i,j;
}
C99可以在任何定义。包括for循环内
小小攻城师
2009-12-11
打赏
举报
回复
1
[Quote=引用 21 楼 do_fork 的回复:]
引用 18 楼 borefo 的回复:
刚好,今天我在Linux编译了这样的代码,也被提示说c99不支持这样的写法,奇怪~~~
看反了吧,提示的是这个
error: ‘for’ loop initial declarations are only allowed in C99 mode
note: use option -std=c99 or -std=gnu99 to compile your code
它说只有C99允许,提示用 -std=xxx 编译你的代码
[/Quote]
谢谢fork 如果是这样的话那就没疑问了 c99是支持的了
这样说的话23楼也是正确的咯
小小攻城师
2009-12-11
打赏
举报
回复
[Quote=引用 22 楼 wangjun403 的回复:]
GCC下可以在C程序里这样定义
但不可以在C++程序里这样定义!
LZ是不是在C++程序里这样定义了?
[/Quote]
[Quote=引用 24 楼 gingzai777 的回复:]
这个好像原先是C++的语法(不知道是否叫语法,反正C++支持的)
后来C99加上去的。
[/Quote]
两个刚好相反,我该信哪一个?
Zijian_Zhang
2009-12-11
打赏
举报
回复
这个好像原先是C++的语法(不知道是否叫语法,反正C++支持的)
后来C99加上去的。
鼠
2009-12-11
打赏
举报
回复
C99 和 C++ 都允许这种语法,但是大多数的 OJ 是不会使用 C99 标准的,gcc 编译的时候也要加 -std=c99 选项才会以 C99 编译。
durant
2009-12-11
打赏
举报
回复
GCC下可以在C程序里这样定义
但不可以在C++程序里这样定义!
LZ是不是在C++程序里这样定义了?
do_fork
2009-12-11
打赏
举报
回复
[Quote=引用 18 楼 borefo 的回复:]
刚好,今天我在Linux编译了这样的代码,也被提示说c99不支持这样的写法,奇怪~~~
[/Quote]
看反了吧,提示的是这个
error: ‘for’ loop initial declarations are only allowed in C99 mode
note: use option -std=c99 or -std=gnu99 to compile your code
它说只有C99允许,提示用 -std=xxx 编译你的代码
alexhilton
2009-12-11
打赏
举报
回复
C99是支持这样做的!
C99主要增加的几个特性:
C++风格的注释;在for中声明变量;内联函数inline
小小攻城师
2009-12-11
打赏
举报
回复
[Quote=引用 18 楼 borefo 的回复:]
刚好,今天我在Linux编译了这样的代码,也被提示说c99不支持这样的写法,奇怪~~~
[/Quote]
真的嘛?
楼下高手改上了吧
borefo
2009-12-11
打赏
举报
回复
刚好,今天我在Linux编译了这样的代码,也被提示说c99不支持这样的写法,奇怪~~~
小小攻城师
2009-12-11
打赏
举报
回复
求楼下给确定答案
是或者不是c99允许的方式?
DINGXIAOYU777
2009-12-11
打赏
举报
回复
我都是外面定义的没这样做过
lzh3ng
2009-12-11
打赏
举报
回复
以前的需要在for前面定义。
小小攻城师
2009-12-11
打赏
举报
回复
可是oj提交的时候为什么有问题啊?
难道天津大学的oj不是用的c99的标准?
sduxiaoxiang
2009-12-11
打赏
举报
回复
这个可以啊
jackyjkchen
2009-12-11
打赏
举报
回复
[Quote=引用 11 楼 do_fork 的回复:]
引用 10 楼 jackyjkchen 的回复:
VC不支持C99,但是支持这个
VC2008不支持这个,莫非2010支持了?
[/Quote]
你难道不知道,对我来说,C和C++不分家么……既然C99的许多东西C++里有,又何必增加C编译器的复杂度呢?
do_fork
2009-12-11
打赏
举报
回复
[Quote=引用 10 楼 jackyjkchen 的回复:]
VC不支持C99,但是支持这个
[/Quote]
VC2008不支持这个,莫非2010支持了?
加载更多回复(10)
基于Python从Excel表格读取源数据并利用Nodejs进行数据处理与Shell脚本实现自动化流程的跨平台工具-Excel数据读取-Python数据处理-Nodejs数据转.zip
基于Python从Excel表格读取源数据并利用Nodejs进行数据处理与Shell脚本实现自动化流程的跨平台工具_Excel数据读取_Python数据处理_Nodejs数据转.zip面试手撕代码高频题
毕业设计-Java-ssm813教务管理系统+vuemov+MySQL等文件.zip
本项目是基于Java语言开发的ssm813教务管理系统,采用SSM框架(Spring、SpringMVC、MyBatis)结合Vue.js前端技术,并使用MySQL数据库进行数据存储。系统主要功能包括学生信息管理、课程管理、成绩管理、教师管理、考试安排等模块,实现了教务工作的信息化和自动化。通过该系统,用户可以方便地进行学生信息录入、课程安排、成绩查询等操作,提高了教务管理的效率和准确性。项目旨在解决传统教务管理中存在的效率低下、信息不透明等问题,为学校提供一套完整的教务管理解决方案。系统界面简洁直观,操作便捷,适合各类学校和教育机构使用。毕设项目源码常年开发定制更新,希望对需要的同学有帮助。
基于Matlab的交通标志识别系统
基于Matlab的交通标志识别系统
毕业设计-Java-ssm027学校运动会信息管理系统+MySQL等文件.zip
本项目是基于Java SSM框架开发的一套学校运动会信息管理系统,旨在通过整合MySQL数据库实现运动会信息的全面管理。系统主要功能包括运动会项目报名、运动员信息管理、赛事安排、成绩录入与查询、奖牌统计等,为学校运动会组织者提供便捷的数据支持。通过SSM框架的整合,系统实现了前后端分离,提高了开发效率和系统稳定性。项目采用B/S架构,用户可通过浏览器进行操作,界面简洁直观,操作便捷。开发此项目的目的是为了优化运动会管理流程,减少人工操作错误,提升管理效率,同时为师生提供便捷的信息查询服务。毕设项目源码常年开发定制更新,希望对需要的同学有帮助。
联想云教室实施手册ppt
桌面集中管理,终端分布式运算 联想智能云教室采用IDV架构,具有桌面集中管理,终端分布式运算等特性,一台普通配置的台式机当服务器,可管理300-500台终端,主流单路服务.
C语言
70,024
社区成员
243,260
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章