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

因为信息竞赛是WINDOWS下编译,LINUX下评测,所以想问一下,关于回车符/n /r/n 会导致哪些影响呢?

如果没有涉及系统独有的库函数或者编程方法(即只用符合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,所以控制台上就没有任何输出啦!
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-04-25
从广义上来讲是没有区别的, 因为都是用高级语言写的程序, 而且还是一种高级语言.
但是, 很多细节上的问题, 如:conio.h, windows.h首先这两个头文件在LINUX下是完全不能使用. conio.h是windows下才有的. windows.h, 这个连名字都是windows, 在LINUX下怎么可能能使用呢.

还有就是像system这样的函数, 在windows下写system("color 1F");是可以的, 但是LINUX是没有color这个命令的, 这样会导致编译无误, 但是运行时会有错误.
第2个回答  2014-03-22
一句话:在Windows下编译,在Linux下测试没法使用!

必须在Linux下重编。语法规则基本相同。
第3个回答  2015-05-22
编译器的区别,和系统库函数的区别

...windows c语言和linux c语言 有哪些相同点和不同点 他们的原理,操 ...
1、语言角度 语言本身在linux和windows上没有啥区别。 因为语言就是一个接口,是有标准,拿C语言来说,不管是linux上的gcc还是windows上的vc编译器,都必须遵守C99的标准,或者说,不管你的编译器怎么实现,都得实现C99标准要求的。2、汇编角度,因为C语言先要有C编译器生成汇编语言指令,再有汇编指令...

linux下的C语言编程与windows下的C语言编程都是同一种语言吗?从语法上...
没有区别,C语言是有标准的,叫做C语言的必须符合国际标准。区别在于Windows通过头文件windows.h提供的Windows API函数,而Linux则提供了它自己的函数。基本的C库函数,如stdio.h,string.h等也是标准化的,所有C编译器都必须提供这些函数,典型的如printf, strcpy等。问题是在于,如果你要调用系统功能,...

linux下的c语言编程和windows下的c语言编程有什么区别
语言本身差别不大。主要主要是和系统交互的时候不同。一个是Linux的POSIX接口,一个是Windows的 Win32 API。Linux下的接口因为源自UNIX,有很多API明显是C库的风格,风格比较老旧。但是Win32 API风格更现代、更高级一些。比如Linux下fork\/exec、Windows下 CreateProcess 。而且Windows的API提供很多 图形界面...

Linux下的C编程和Windows下有什么区别?越详细越好,谢谢...
Linux 简单的说跟 Windows 一样是一种操作系统,只是两者之间的使用方法和习惯有所区别。具体的区别其实很大,不过已经不是能在这里说清楚的事情了。对于 C 编程来说,他们最大的区别就是提供给你的系统相关的特性不一样。这个导致了所谓的移植性问题以及平台特性的问题。形象点的比喻是你可以认为 Linux...

linux C\/C++跟Windows下c\/c++有何不同?如何学习?
1 开发集成工具不同。在linux下面采用的多是开源的开发工具例如codeblocks、eclipse等,而window下面则多采用vc 2 系统api不同。在linux下面,是没有临界区域的,因此同步等操作,需要依靠互斥体。而window下面两者都有 3 系统环境不一样。比如文件路径的格式、环境变量的配置等等 4 编译环境不一样。在...

到底是选择linux开发还是windows开发?他们到底有什么区别
回答:Windows上的C开发是什么呢? 如果你只是在潭浩强书的水平的话,Windows上的开发跟Linux上的C开发没有什么不同,因为都是基本的简单的语言的学习.C语言的学习到什么平台都一样.那么Windows中的C开发和Linux中C开发有什么不同.不同是有的.比如.Windows下开发用Windows的库,Linux下用Linux下的库.虽然...

linux下的C语言编程和window下的有什么不同?
各种不同的编译器对C\/C++标准标准支持程度不一样。我们发现Linux上的g++,gcc对标准支持要比VC好。象上面一个回答:例如win: for(int i=0;i<10;i++)linux:int i;for(i=0;i<10;i++)是不正确的,显然第一个是符合新C++标准的,其实VC6.0的支持要查得多 for(int i = 0; i < 10; ++...

初学C 语言,选择在 Windows 还是 Linux 环境下练习更有优势?
并不是否定Linux,而是它对于初学者的入门门槛太高了。Window进入难度小,非常有助于不断积累幸福感。各种IDE完备,基本可以按照书上按图索骥,能让你专注而有效率的在学C语言。windows下完善的IDE调试环境有利于减少入门难度,这对于初学者是大益。难以想象一个初学者在Linux下面遇到指针错误会不会看着...

linux下编程和windows下的编程有什么区别
Linux编程C语言用的比较多一些,C++语言也常用,Linux编程调用的接口叫做“系统调用”,C标准库、第三方开源C\/C++库也是常用的,Linux编程会用到许多代码库,代码库选择上比较灵活;但是Windows编程C语言就用的少了,用C语言调用Windows API编程叫做Win32编程,微软将Windows API作了C++封装,封装成了C++库...

Linux系统和windows系统下的编程有什么区别吗
都是操作系统不同是一个开放源代码一个不开放系统的结构不一样比如说 设备都可以像访问文件一样访问,脚本语言很强大操作方式有差别c程序方面,用的函数库不一样,只要函数库、有些如文件系统表示方面的差异解决好了,编译的程序可以通用。linux的核心也是C语言写的C程序通常是用文本编辑器写,GCC编译器...

相似回答