① c语言的编译器,打开同一个程序,一样的输入,为什么有时输出是对的,有时是错的
如果真是这样,恐怕是跟内存泄漏、野指针之类的问题有关,错误不容易重现,因为虽然输入相同,但每次运行时系统的情况不同,编译器分配的内存情况不同。
② 为什么相同的代码相同的编译器在不同电脑上的运行结果不同
函数f1中的变量c,你在未初始化的情况下就使用了,就是这句while(c!=0)。这时c的值是不确定的。
③ 用C语言写了一个程序,如图。请问为什么用不同编译器执行同样代码,结果不同
把 这一句: int b = b + 1;
改为 b = b + 1;
结果就一样了
因为你在while中重新定义了变量b,但是没有给b赋值,b的值是随机的,有可能出现任何值
④ 每个编译器都不一样么 c语言一般用什么编译器 每次一种编译器不能编译 另一种却能编译出
编译器就是c语言编译成二进制的东西,
不同的编译器是不同的, 比如16位系统和32位系统的编译器就不同,因为16位的认为int是2字节,32位的则认为是4个字节。 另外 linux上的编译器跟windows下的编译器也不同,linux上的认为内核空间占1G,而windows下则认为占2G, 此外两个系统对环境变量以及其他的设置也不同所以编译器更不能用。
而且不同的CPU的指令集时不同的,所以同样int a =1 最后被编译成的二进制代码也是不同的。
C语言的编译器有很多,windows下的编译器也有很多,不同的编译器可能会做一些不同的优化,linux下的gcc也可以添加选项让他编译windows下运行的程序。
main(int argc,char*argv[ 】 ) argc 是你的参数个数 argv是你的参数。
比如你最终程序叫 add 那么 你在命令行执行add 1 2 那么argc =3 第一个参数使你的add, 第二个第三个就是 1 2, 在函数内部你就可以获取这俩参数进行相加然后打印
visual 是个IDE,集成开发环境,已经集成好了windows下使用的编译器连接器 等, 编写代码完成后直接点击编译就行了。 IDE的默认编译器是可以更改的,不同的IDE设置不同。
⑤ C语言代码在不同编译器下运行结果不同,请问原因
可以把fflush(stdin); 删掉,有时候把这个删掉就行了。scanf("%c", &ch);换成ch=getchar();应该就行了。
至于两个编译器不一样的情况,这是肯定会有的,毕竟是两个不同的编译器。
⑥ C语言同一段代码,同样的文件,编译器为什么运行结果不一样
一般来说,C语言程序被编译为可执行程序后,每次都输出都是相同的,但有些特殊情况例外,比如,代码中引入了随机变量,并让它出现在输出结果中。
⑦ 同一代码在不同编译器上显示不同
出来结果不是看运行的机器是多少位,而是看这个程序是多少位的,即使你的机器是64位出来的结果还是这样
你用tc这个16位编译器,出来的是16位程序,那么里面的东西都是按照16位来的
你用vc按32位进行编译,出来的是32位程序,那么里面的东西都是按照32位来的
相信你是自己明白为何16和32位出来不同结果,我也不解释了
计算机多少位的你可以下载个CPU-Z进行查看,还能看出操作系统多少位
计算机多少位 操作系统多少位 程序多少位 都是不同的概念
我的机器64位 操作系统32位 可以运行多数的32位 和 16位 windows或dos程序,但是一般的64位程序运行不了,因为操作系统只有32位。
⑧ 为什么汇编代码在不同编译器上结果不一样
也许是masm版本不同引起的,高版本功能更强、会进行某些优化。
另,有些功能,在汇编中也会有不同的实现方式;再,高版本对伪指令的用法也许进行优化调整。
⑨ 为什么c语言在不同编译器运行结果不一样
这种代码本来就是不严谨的,i++只是说当前表达式计算结束后再自增
三个i++啥时候对i自加呢?
这种表达式都是一些水平不行的”教授“写的教程带来的垃圾书,扔了吧
⑩ 同一个C++程序为什么在两个相同的VS2008编译器上运行的结果不一样,非常之急,在线等!
貌似如果是windows程序就必须该设置,例如在网上下了一个小程序,里面只有CPP文件和一个resource.h,这是一个WinMain程序,懒得建立一个win32工程,直接上来就打开CP文件进行build,编译器报告上面的错误(如题).
原因: VC++此时假定你要建立Console程序而不是GUI程序,而Console程序的Startup Code要载入的是main()而不是Winmain(),导致连接失败。
改正的方法: 将菜单Project/Settings下Link项Option内的/subsystem:console改为/subsystem:windows。另外也可以先New一个Win32 GUI Project,再拷贝入你的程序,再Build。