社区
C语言
帖子详情
c99标准里面不允许这样for(int i = 0; i < n; ++i)???
小小攻城师
2009-12-11 04:08:39
如题 请知道的回答一下
我在oj上提交的时候他说才c99不允许在for()里面定义int
我把它放到外面就没有问题
求问标准到底是能还是不能?
我一直以为能 从我学习c开始就以为能
...全文
9280
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)
graalvm-community-jdk-17.0.9-windows-x64-bin.zip
graalvm-community-jdk-17.0.9-windows-x64-bin.zip
(完整版)VB循环结构测试题及答案.doc
(完整版)VB循环结构测试题及答案.doc
(完整word版)数据库课程设计-教务管理系统[1].doc
(完整word版)数据库课程设计-教务管理系统[1].doc
深度学习项目实战(代码):Medical Image Segmentation System Based on UNet
手动实现UNet以及各种蒸馏改造的UNet,为该项目代码的一部分。 The project reconstructs UNet model(proposed in 2015) by hand, training and evaluating the model on ISIC-2017 challenge dataset in order to: (1)Well master the architecture and principle of UNet and better understand how new ideas are born; (2)Get a glimpse of the application of deep learning in medical image segmentation area while getting familiar with common used indexes in evaluation section of semantic segmentation problems; (3)Learn the complete workflow of DL——i.e., data preprocessing, model training, model evaluation, as well as higher-level design such as data augmentation, training process optimization(acceleration).
(完整word版)算法分析矩阵连乘.doc
(完整word版)算法分析矩阵连乘.doc
C语言
70,024
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章