C语言高手请进!!!

2025-01-04 15:27:04
推荐回答(5个)
回答1:

1) main函数中 s=a ; a为外部变量(a=4)
2) 第一次调用 f(0):
..f函数中 动态变量 t=0, 静态变量 a=5
..n=0 执行 else语句 :
..局域变量 a=7, t+=a++; (t为 7 )
..return t+a++; 返回 12(7+5), 静态变量a变6
3) 第二次调用 f(1):
..n=1 执行 局域变量 a=6, t+=a++; (t为 6 )
..return t+a++; 返回 12(6+6), 静态变量a变7
4) s的结果为 28 (4+12+12)

回答2:

有点复杂,算法比较乱了点:在第一次调用函数int f()的时候a 还是等于4的,因为第一次n==0,所以a = 6; 然后自加一次,到返回的时候a==7了...第二次调用的时候走的算法差不多,不过是走的else而已...你去分析下呢?
顺便说下:这个写程序的可能是我们公司某个同事的徒弟??明明我们一个700多行可以实现功能的程序他能写出6000多行来???我看不懂他的了

回答3:

…………看了一眼源程序,顿时无语了。
C/C++语言的很重要的一点就是程序的可读性和易读性。
并且作为一个合格的程序员,应该让自己的程序代码保持整洁。

呵呵,异常同意一楼同学的说法~~~

我本人是在澳大利亚学习IT的,老外们十分看重程序书写规范、整洁、简介这几点。有时候他们总跟我们说要"No rubbish in your codes."~~~

回答4:

严重同意
虽然这样好像用尽了c的灵活,但c的灵活不应该体现在这方面。

无论多么高手 履这个程序的逻辑花费的时间是不可忽略的。

!!这么写程序的就应该拖出去打!! ^_^ 上面这位师兄很有家长风范

回答5:

请不要花哨的写代码,在软件公司这样好象并不是十分欢迎.你写的代码必须好读,就是可读性很好.我看不出来.所以,我不看了