关于程序的输入输出

关于程序的输入输出,第1张

楼上正解。

另外,

1、“k++"是先判断k是否为1,判断完成以后再加加的,而不是先加加在判断k是否为1的,n也同理。

2、不过,因为while的循环条件是一个与关系,由于你的第一个条件即k未能满足,所以程序就不用再判断第二个条件即n了,也就是说n还是原来的值2,而没有加加。

综上,k为1,n为2

第2种最好。

例如你设计一个函数

int fun(int input)

里面没有scanf printf调用,且没有访问全局变量,那么你的这个函数fun很容易移植,既可以在Dos窗口环境用,也可以在windows环境用,你要改的只是外围的数据输入获取方式和输出数据的显示方式。比如,在dos窗口程序中,你可以这样:

scanf(&input);

output = fun (input);

printf(output);

若想在windows界面用,可以这样:

input=某文本框的输入;

output=fun(input);

MessageBox(output);

功能代码与界面代码分离是经常要注意的事情。

假设你在fun里搞scanf或printf,你的fun就很难移植。

全局变量的缺点不用说了。

结果是:

Please

input

a

string:The

result

is:

0

0

0

0

0

从main函数开始执行,

遇到printf语句后输出Please

input

a

string:

这时你输入This

is

a

tree并赋给s

然后调用fun函数

此函数调用过程是:因为数组名就是数组的首地址,这时实参是把s数组的地扯传给了形参s的,

num传的也是数组的首地址,所以接下来如果在fun函数中对他们俩进行了修改的话,

实际的参数也是同时进行了修改的

第一个for语句将数组元素都设为0

因为此时的s是指向"This

is

a

tree"这个字符数组的首地址,

其s就是'T',当然不等于'\0'所以此时会让i=-1

刚说了s是‘T’,所以它不与switch中任何一种情况相同。

所以它不会执行swihch中的语句。后面的if语句不成立。因为i=-1。

最后s++,s这时指向数组下一个元素,即‘h’。

函数调完后,接着执行下一条printf语句,输出The

result

is:并回车

因为数组里的元素在fun函数中改过了,都是0。所以输出的都就是五个0了。

以上就是关于关于程序的输入输出全部的内容,包括:关于程序的输入输出、在程序设计中,可采用下列三种方法实现输出和输入:、C语言中的程序输出等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9688765.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存