当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 13 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 在Ubuntu下进行C编程遇到的问题
帖子发表于 : 2012-09-09 10:49 
头像

注册: 2012-08-19 22:18
帖子: 35
系统: Linux Ubuntu
送出感谢: 0 次
接收感谢: 0 次
首先。先看我的源代码

// 5.c

#include <stdio.h>
int main()
{
int x[10];
printf("\n\n\n\n\n\n\n\n请输入10个数字:");
for(int i=0;i<10;i++)
{
scanf("%d",&x[i]);
}
int a=x[0];
int t=1;
for(;;t++)
{
if(x[t]<x[t-1])
{
a=x[t-1];
x[t-1]=x[t];
x[t]=a;
t=0;
}
if(t==10)
{
break;
}
}
for(int e=0;e<10;e++)
{
printf("%d ",x[e]);
}
printf("\n");
return 0;
}

这个程序实现的是 让10个数 能按 从小到大排列,算法有点猥琐。大神不要笑话。初学的,

然后我保存退出VIM

然后输入 gcc 5.c

5.c: 在函数‘main’中:
5.c:6:2: 错误: 只允许在 C99 模式下使用‘for’循环初始化声明
5.c:6:2: 附注: 使用 -std=c99 或 -std=gnu99 来编译您的代码
5.c:26:2: 错误: 只允许在 C99 模式下使用‘for’循环初始化声明


就出现了上面的情况。我第一个想到的。是不是编译器的问题呢。,

还是 stdio.h 头文件 用 for 要声明什么。。


_________________
我是一只小小鸟,我要向上爬,直到我能飞上蓝天。


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 在Ubuntu下进行C编程遇到的问题
帖子发表于 : 2012-09-09 10:55 
头像

注册: 2008-07-24 11:33
帖子: 4793
地址: 郑州
送出感谢: 4
接收感谢: 92
引用:
5.c:6:2: 附注: 使用 -std=c99 或 -std=gnu99 来编译您的代码

代码:
gcc --std=c99 *.c


_________________
求人不如求它仨: 天蓝的Wiki 屎黄的Wiki 绿
Site: CUIHAO.TK    Twitter: @cuihaoleo
Machine: Athlon64 X2 5200+ / 2x2GB DDR2-800 / GeForce GTS 450
AD: ~まだ見ぬ誰かの笑顔のために~


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 在Ubuntu下进行C编程遇到的问题
帖子发表于 : 2012-09-09 10:55 
头像

注册: 2008-08-13 8:48
帖子: 26391
地址: 东海硇州,一双管钥。
系统: Fundu i64
送出感谢: 50
接收感谢: 344
[c]
// 5.c
#include <stdio.h>
int main()
{
int x[10];
printf("\n\n\n\n\n\n\n\n请输入10个数字:");
int i;
for(i=0; i<10; i++)
{
scanf("%d",&x[i]);
}
int a=x[0];
int t=1;
for(;; t++)
{
if(x[t]<x[t-1])
{
a=x[t-1];
x[t-1]=x[t];
x[t]=a;
t=0;
}
if(t==10)
{
break;
}
}
int e;
for(e=0; e<10; e++)
{
printf("%d ",x[e]);
}
printf("\n");
return 0;
}
[/c]
新标准的编译器嘛。 :em01 :em01 :em01


_________________
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 在Ubuntu下进行C编程遇到的问题
帖子发表于 : 2012-09-09 10:59 

注册: 2012-08-23 19:37
帖子: 80
送出感谢: 0 次
接收感谢: 3
将for()中的int i=0; 这个初始化变量i的操作放到函数的开头部分; 还有其它变量的初始化最好也都放在开头 (推荐)
或者按它说的使用gcc的-std=c99 (或者-std=gnu99)选项;

另外, 贴代码时可以用[code]来引起来, 能包括原先的格式,不乱.


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 在Ubuntu下进行C编程遇到的问题
帖子发表于 : 2012-09-09 11:04 
头像

注册: 2012-08-19 22:18
帖子: 35
系统: Linux Ubuntu
送出感谢: 0 次
接收感谢: 0 次
YeLee 写道:
[c]
// 5.c
#include <stdio.h>
int main()
{
int x[10];
printf("\n\n\n\n\n\n\n\n请输入10个数字:");
int i;
for(i=0; i<10; i++)
{
scanf("%d",&x[i]);
}
int a=x[0];
int t=1;
for(;; t++)
{
if(x[t]<x[t-1])
{
a=x[t-1];
x[t-1]=x[t];
x[t]=a;
t=0;
}
if(t==10)
{
break;
}
}
int e;
for(e=0; e<10; e++)
{
printf("%d ",x[e]);
}
printf("\n");
return 0;
}
[/c]
新标准的编译器嘛。 :em01 :em01 :em01



我以前是在WIN7 下 用 VC6.0 学习 C++ 的。。。职业病,。不好意思//


_________________
我是一只小小鸟,我要向上爬,直到我能飞上蓝天。


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 在Ubuntu下进行C编程遇到的问题
帖子发表于 : 2012-09-09 11:05 
头像

注册: 2012-08-19 22:18
帖子: 35
系统: Linux Ubuntu
送出感谢: 0 次
接收感谢: 0 次
Dohw0Doh 写道:
将for()中的int i=0; 这个初始化变量i的操作放到函数的开头部分; 还有其它变量的初始化最好也都放在开头 (推荐)
或者按它说的使用gcc的-std=c99 (或者-std=gnu99)选项;

另外, 贴代码时可以用[code]来引起来, 能包括原先的格式,不乱.



恩,谢谢了。可是我还是有点看不懂。可以贴你的出来看一下 FOR 要怎么做初始化吗。!!谢谢


_________________
我是一只小小鸟,我要向上爬,直到我能飞上蓝天。


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 在Ubuntu下进行C编程遇到的问题
帖子发表于 : 2012-09-09 11:06 
头像

注册: 2012-08-19 22:18
帖子: 35
系统: Linux Ubuntu
送出感谢: 0 次
接收感谢: 0 次
cuihao 写道:
引用:
5.c:6:2: 附注: 使用 -std=c99 或 -std=gnu99 来编译您的代码

代码:
gcc --std=c99 *.c



你这样是用 C99 的编译器编译吗。那么默认 GCC 是用什么标准的,


_________________
我是一只小小鸟,我要向上爬,直到我能飞上蓝天。


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 在Ubuntu下进行C编程遇到的问题
帖子发表于 : 2012-09-09 11:09 
头像

注册: 2008-08-13 8:48
帖子: 26391
地址: 东海硇州,一双管钥。
系统: Fundu i64
送出感谢: 50
接收感谢: 344
thisdk 写道:
Dohw0Doh 写道:
将for()中的int i=0; 这个初始化变量i的操作放到函数的开头部分; 还有其它变量的初始化最好也都放在开头 (推荐)
或者按它说的使用gcc的-std=c99 (或者-std=gnu99)选项;

另外, 贴代码时可以用[code]来引起来, 能包括原先的格式,不乱.



恩,谢谢了。可是我还是有点看不懂。可以贴你的出来看一下 FOR 要怎么做初始化吗。!!谢谢

我修改过的代码你没看? :em03 :em03 :em03


_________________
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 在Ubuntu下进行C编程遇到的问题
帖子发表于 : 2012-09-09 11:12 
头像

注册: 2012-08-19 22:18
帖子: 35
系统: Linux Ubuntu
送出感谢: 0 次
接收感谢: 0 次
YeLee 写道:
thisdk 写道:
Dohw0Doh 写道:
将for()中的int i=0; 这个初始化变量i的操作放到函数的开头部分; 还有其它变量的初始化最好也都放在开头 (推荐)
或者按它说的使用gcc的-std=c99 (或者-std=gnu99)选项;

另外, 贴代码时可以用[code]来引起来, 能包括原先的格式,不乱.



恩,谢谢了。可是我还是有点看不懂。可以贴你的出来看一下 FOR 要怎么做初始化吗。!!谢谢

我修改过的代码你没看? :em03 :em03 :em03




:em20 :em20 :em20 ,第一次在这么先进的论坛混,原来可以展开额。,。。哈哈。辛苦你了。

For 循环的标准 是不是都不能在 里面进行定义变量的呢???


_________________
我是一只小小鸟,我要向上爬,直到我能飞上蓝天。


页首
 用户资料  
 
10 楼 
 文章标题 : Re: 在Ubuntu下进行C编程遇到的问题
帖子发表于 : 2012-09-09 11:12 

注册: 2012-08-23 19:37
帖子: 80
送出感谢: 0 次
接收感谢: 3
YeLee的代码就可以呀 :)


页首
 用户资料  
 
11 楼 
 文章标题 : Re: 在Ubuntu下进行C编程遇到的问题
帖子发表于 : 2012-09-09 11:13 
头像

注册: 2008-07-24 11:33
帖子: 4793
地址: 郑州
送出感谢: 4
接收感谢: 92
貌似因为GCC支持还不完善,所以默认不开的吧。
默认应该说是gcc自己的标准…… 按C90应该都能正常编译的。


_________________
求人不如求它仨: 天蓝的Wiki 屎黄的Wiki 绿
Site: CUIHAO.TK    Twitter: @cuihaoleo
Machine: Athlon64 X2 5200+ / 2x2GB DDR2-800 / GeForce GTS 450
AD: ~まだ見ぬ誰かの笑顔のために~


页首
 用户资料  
 
12 楼 
 文章标题 : Re: 在Ubuntu下进行C编程遇到的问题
帖子发表于 : 2012-09-09 11:14 
头像

注册: 2008-07-24 11:33
帖子: 4793
地址: 郑州
送出感谢: 4
接收感谢: 92
直接用g++编译得了…… 反正C++也基本向下兼容C……


_________________
求人不如求它仨: 天蓝的Wiki 屎黄的Wiki 绿
Site: CUIHAO.TK    Twitter: @cuihaoleo
Machine: Athlon64 X2 5200+ / 2x2GB DDR2-800 / GeForce GTS 450
AD: ~まだ見ぬ誰かの笑顔のために~


页首
 用户资料  
 
13 楼 
 文章标题 : Re: 在Ubuntu下进行C编程遇到的问题
帖子发表于 : 2012-09-09 12:47 
头像

注册: 2010-04-23 20:40
帖子: 1950
地址: 浙江·杭州
系统: Arch Linux
送出感谢: 2
接收感谢: 31
gcc 默认是 c89
c89 里本来就不能 for (int i=0; ...) 啊
要写成 int i; for (i=0; ...)的


_________________
我是 Giumo Clanjor(哆啦比猫/兰威举)
Where there is a hacker, there is art. | Develop for Developers. (C & perl5)
博客 | Clanjor Prods.
类 C 语言到 brainfuck 编译器


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 13 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译