不知道你指的是控制台输入输出,还是文件输入输出呢?控制台的输出可以直接使用System.out.println(),如果是文件输入输出就要用输入输出流来进行输入了,自己往程序中输入内容,可以用系统封装好的类,也可以自己用输入输出流构建。
2. 简要描述输入输出设备的各种编址方式及其优缺点。
1.通过scanf和printf语句 2.通过函数的参数显式传递 3.通过全局变量隐式传递 scanf和printf是为了接口而使用的吧,也就是必须要进行人机交互的情况下才使用,并且其他两种情况也无法代替 2和3都可作为函数之间传递参数的方法,但是进行软件开发的原则是能不用3尽量不用。 使用3会增加模块之间的耦合度(软件工程中的概念),导致各模块纠缠不清,程序想一碗面条一样稀里糊涂一大堆。修改一个地方,搞不好所有的函数都要跟着改。 而如果全部用参数传递,那么可以做到将各函数功能独立,如果发现问题,只修改一个函数就可以解决。 1.通过scanf和printf语句来进行数据的传递,是用户通过键盘输入的,这是一种不稳定的数据来源。再说,c语言对数据的处理和字符的处理 又不是很全面。 2.通过函数的参数显式传递进行数据的传递,它是一种地址和栈的传递,通过c编译器来进行的地址转换,是一种内部的数据传递,也是一种比较稳定的方法, 3.通过全局变量隐式传递和函数差不多,但是全局变量是c编译器为它开辟的一块栈的空间,它的生存周期和应用程序一样,所以它的使用占了很大的内存空间,不能够及时得到释放。在不得已的情况下建议少用,这样可以提高程序的运行速度。 所以,我建议在c语言里面,使用函数、指针来传递数据是最合理的。
3. 请问在命令指示符和在编译器上直接运行,如果要输入命令行参数在输入时有什么区别
这么跟你说吧:集成开发环境其实后台也是在通过命令行和参数来调用编译器。
所以,只要你做得足够合适。那两者是完全一样的。
集成开发环境 = 自动化的代码编辑 + 自动化的命令行调用编译器 + (可能有)调试器 + 部分帮助文档
4. c语言的编译器,打开同一个程序,一样的输入,为什么有时输出是对的,有时是错的
如果真是这样,恐怕是跟内存泄漏、野指针之类的问题有关,错误不容易重现,因为虽然输入相同,但每次运行时系统的情况不同,编译器分配的内存情况不同。
5. 在C语言编译器中如何实现:输入一个字符串,打印出该字符串中字符的所有排列。
#include<stdio.h>
voidPermutation(char*a,char*current);
intmain()
{
chars[30]="abc";
Permutation(s,s);
return0;
}
voidPermutation(char*a,char*current)
{
if(*current=='