关于C语言在LINUX和WINDOWS下的区别。

因为信息竞赛是WINDOWS下编译,LINUX下评测,所以想问一下,关于回车符/n/r/n会导致哪些影响呢?... 因为信息竞赛是WINDOWS下编译,LINUX下评测,所以想问一下,关于回车符/n /r/n 会导致哪些影响呢? 展开
 我来答
cedar102
推荐于2018-02-28 · TA获得超过255个赞
知道答主
回答量:74
采纳率:100%
帮助的人:40.4万
展开全部
如果没有涉及系统独有的库函数或者编程方法(即只用符合ANSI C标准的代码和方法)就没有区别

如果涉及到系统编程,二者有所区别,主要是库函数有所不同,而且文件系统不同、对某些函数的执行方式不同。

\n 为ASCII的0x0a 换行
\r 为ASCII的0x0d 回车
在windows 系统中,当你输入回车时会自动变成\r\n
在linux下的回车键只代表\n
而在windows下的回车键表示\r\n
\n为进入下一行,\r为打印头回到行首上
linux/unix下只用\n,它就表示回车+换行
而windows下,\r只回车不换行的,\n是换行,但在有些编辑中,单独的\n是不会换行的(如notepad)
一般在程序中,写\n就可以了,它在linux或windows中都能实现回车+换行的功能(只是在文本文件中,linux只会有0x0a,windows会自动换为0x0d 0x0a)
下面举个例子: www.2cto.com
#include<stdio.h>
int main()
{
char a[10]="abc\r";
printf(a);
return 0;
}
程序运行时没有任何输出。
原因就是 \r 回车 表示打印头回到该行起始位置,从而覆盖了abc,所以控制台上就没有任何输出啦!
文正153
推荐于2016-04-25 · TA获得超过2.1万个赞
知道大有可为答主
回答量:2221
采纳率:63%
帮助的人:609万
展开全部
从广义上来讲是没有区别的, 因为都是用高级语言写的程序, 而且还是一种高级语言.
但是, 很多细节上的问题, 如:conio.h, windows.h首先这两个头文件在LINUX下是完全不能使用. conio.h是windows下才有的. windows.h, 这个连名字都是windows, 在LINUX下怎么可能能使用呢.

还有就是像system这样的函数, 在windows下写system("color 1F");是可以的, 但是LINUX是没有color这个命令的, 这样会导致编译无误, 但是运行时会有错误.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hongyaofu
2014-03-22 · TA获得超过1088个赞
知道大有可为答主
回答量:1227
采纳率:87%
帮助的人:505万
展开全部
一句话:在Windows下编译,在Linux下测试没法使用!

必须在Linux下重编。语法规则基本相同。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阿鸾44
2015-05-22 · TA获得超过2137个赞
知道大有可为答主
回答量:2141
采纳率:50%
帮助的人:535万
展开全部
编译器的区别,和系统库函数的区别
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式