这两种写法哪个效率高,哪个更好?

younger325 2010-12-29 06:12:03
int func()
{
....
return x;
}

int main()
{
int a = 0;
int b = 0;
int c = 0;

a = func();

return 0;
}

int main()
{
int a = func();
int b = 0;
int c = 0;
}
...全文
243 30 打赏 收藏 转发到动态 举报
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
失散糖 2010-12-31
  • 打赏
  • 举报
回复

BITMAPINFOHEADER bmih = { sizeof (bmih), width, height, 1, 32};



BITMAPINFOHEADER bmih;
bmih.biSize = sizeof (bmih);
bmih.biWidth = width;
bmih.biHeight = height;
bmih.biPlanes = 1;
bmih.biBitCount = 32;


这样的话,哪个更好啊



狗狗 2010-12-31
  • 打赏
  • 举报
回复
请问下,代码大全里都讲的什么东东?
xjmlj2010 2010-12-31
  • 打赏
  • 举报
回复
两个都差不多。
zjmcly 2010-12-31
  • 打赏
  • 举报
回复
还是写规范的程序好。
vipandace 2010-12-31
  • 打赏
  • 举报
回复
没有啥区别吧。。这代码这么简单
patronsaint 2010-12-31
  • 打赏
  • 举报
回复
其实第二种好一点,想象你的代码要是方法很多的话,这样写看起来很直观,符合函数调用的习惯.代码要力求低耦合,你要是把代码都写在一个函数里,很明显,以后修改是个令人崩溃的问题
VC天下 2010-12-31
  • 打赏
  • 举报
回复
影响不大。第一种吧,规范点写
CJBAAA 2010-12-31
  • 打赏
  • 举报
回复
各有优缺点啊,第一种简介明了让人一看就明白 啊。第二种效率高点不过风格不太好,如果大量的这种代码看一会就头疼啊,建议用第一种。只是让看你程序的人少死几个脑细胞而已
yuhang001_007 2010-12-31
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 younger325 的回复:]

那为什么有人要求将变量声明放在开始,其它操作放在后面呢
[/Quote]

在个别编译器里面,要求必须先声明变量,要不会编译出错。
screwzm 2010-12-30
  • 打赏
  • 举报
回复
lz这样的蛋疼菊紧的问题也问啊。。
magicrobot 2010-12-30
  • 打赏
  • 举报
回复
写法上的差别,编译器本身要干的活差不多,不过少了一次赋值,但这个可以忽略不计。
magicrobot 2010-12-30
  • 打赏
  • 举报
回复
没有效率上的差异....
hywangw 2010-12-30
  • 打赏
  • 举报
回复
讨论这种细节太没有意思了
taodm 2010-12-29
  • 打赏
  • 举报
回复
《代码大全》第二版上关于变量的章节会告诉你正确的选择。
ljtboy1 2010-12-29
  • 打赏
  • 举报
回复
第二种啊
aa1013911535 2010-12-29
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 matrixcl 的回复:]
引用 1 楼 q191201771 的回复:

第二种嘛
少赋值一次
不过影响不大


的确。一般情况下没必要为这点儿性能牺牲可读性,除非你可以证明这样改对整个代码运行性能有明显提高。
[/Quote]
++
Thirty 2010-12-29
  • 打赏
  • 举报
回复
纠结这个问题我也觉得没意义,代码规范更好~

这点的差别体现不出程序员的水平
keyeagle 2010-12-29
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 qq120848369 的回复:]

int a=func(); 这叫做变量的初始化

int a;
a=func(); 这叫做变量的赋值

全局变量只允许初始化,不允许赋值,这是很重要的一点.

C/C++ code

#include <iostream>
using namespace std;

int func()
{
return 1;
}

int a=func();

/*
int……
[/Quote]

全局变量只允许初始化不允许赋值?是这样的么?

我只记得const 变量不允许改变其值,也就是在以后不能对其赋值。
失落的凡凡 2010-12-29
  • 打赏
  • 举报
回复
例子太小没有实际意义。 理论上当然是第二种性能高一点,少一次赋值。但楼主你要记得,很多时候,性能不是最重要的。编码时,写出语句简单,逻辑清晰的代码是最重要的。我认为第一种更接近这个标准(但这段代码实在太短,没什么逻辑可言,所以不是很重要)。
matrixcl 2010-12-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 q191201771 的回复:]

第二种嘛
少赋值一次
不过影响不大
[/Quote]

的确。一般情况下没必要为这点儿性能牺牲可读性,除非你可以证明这样改对整个代码运行性能有明显提高。
加载更多回复(10)

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧