&豪
豪->blog
C++博客
首頁
新隨筆
聯系
聚合
管理
隨筆 - 87 文章 - 279 trackbacks - 0
<
2025年5月
>
日
一
二
三
四
五
六
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
潛心看書研究!
常用鏈接
我的隨筆
我的評論
我參與的隨筆
留言簿
(19)
給我留言
查看公開留言
查看私人留言
隨筆分類
(81)
AJAX(1)
C++之夢(11)
DesignPattern(1)
PHP之路(10)
TCP/IP
VC
計算機圖形學(2)
生活感想(24)
算法&ACM(32)
文章分類
(89)
ACM題目(26)
apache(3)
Basic C++(8)
Java(4)
Linux(3)
MFC(2)
mysql(2)
php學習與實踐(4)
Python(1)
string match(3)
操作系統(1)
計算機(1)
數據結構與算法(29)
數論(1)
網絡(1)
相冊
MY LIFE
MY PRODUCTION
SCUT/ICPC MY TEAM
ACM OJ
HOJ
POJ
TOJ
URAL
UVA
ZOJ
My friends
Apple's Garden
asp's blog
chgsh's blog
jay_zzw's blog
shyli's blog
sicheng's blog
xmm's blog
豪的space
踏雪赤兔's blog
搜索
積分與排名
積分 - 216400
排名 - 117
最新評論
1.?re: 使用JS呼叫另一PHP程式后直接返回數值而不必翻新頁面(轉)
123456
--Jaxk
2.?re: qsort函數應用大全(轉)
對頭@莫名
博主謝謝分享,學習了!
--呵呵噠
3.?re: 三次樣條插值
評論內容較長,點擊標題查看
--mrsong123mtr
4.?re: 三次樣條插值
請樓主加解釋啊,表示好難懂
--mrsong123mtr
5.?re: 三次樣條插值
樓主寫的是自然邊界條件的樣條插值。。。可以參考 《計算方法》一書
--juy
閱讀排行榜
1.?中國剩余定理(同余方程組)小結(11632)
2.?掃描線-通用多邊形填充算法(7805)
3.?變量初始化的重要性!(3565)
4.?三次樣條插值(3527)
5.?內存池(version1.1)(3294)
評論排行榜
1.?好高興啊,a+b那題一次通過啦,acm有個好開始!!!^_^(27)
2.?今天又過條簡單題,呵呵(14)
3.?看 c++primer 后的一個問題(14)
4.?變量初始化的重要性!(11)
5.?從二叉樹的遞歸遍歷想到的:利用重載函數,使函數接口更"友好"(9)
變量初始化的重要性!
今天在做一道華為面試題目時候,就是因為沒有將變量初始化,而導致我用了一節課的時間調試:)
題目是:找出01字符串中0和1出現的最大次數.
代碼:
#include
<
iostream
>
#include
<
string
>
using
namespace
std;
void
main()
{
char
*
a
=
"
010000010111101101000000000
"
;
int
i,temp0
=
0
,temp1
=
0
,max0
=
0
,max1
=
0
;
//
對變量初始化,如果不初始化,變量值是隨機的
for
(i
=
0
;i
<
strlen(a);i
++
)
{
switch
(a[i])
{
case
'
0
'
:
{
temp0
++
;
if
(a[i
+
1
]
==
'
1
'
||
i
==
strlen(a)
-
1
)
{
if
(max0
<
temp0) max0
=
temp0;
temp0
=
0
;
}
break
;
}
case
'
1
'
:
{
temp1
++
;
if
(a[i
+
1
]
==
'
0
'
||
i
==
strlen(a)
-
1
)
{
if
(max1
<
temp1) max1
=
temp1;
temp1
=
0
;
}
break
;
}
}
}
cout
<<
"
max0=
"
<<
max0
<<
endl;
cout
<<
"
max1=
"
<<
max1
<<
endl;
}
那為什么不對i初始化呢?因為盡管i沒被初始化,它的初始值是隨機的,但在循環參數表里面已經對他進行賦值,所以i的隨機值已經被0覆蓋。
posted on 2005-11-22 00:40
豪
閱讀(3565)
評論(11)
編輯
收藏
引用
所屬分類:
C++之夢
FeedBack:
#
re: 變量初始化的重要性! 2005-11-22 10:10
沐楓網志
#include <iostream>
void main()
{
char *a="010000010111101101000000000";
int max[2] = {0, 0};
int count[2] = {0, 0};
while(*a)
{
int index = *a - '0';
count[index] ++;
count[index^1] = 0; // count[index?0:1] = 0; // count[index==0?1:0] = 0;
if(count[index] > max[index])
max[index] = count[index];
a++;
}
std::cout << "max 0: " << max[0] << std::endl;
std::cout << "max 1: " << max[1] << std::endl;
}
// output
// max 0: 9
// max 1: 4
點評:
1. 就C字串來說,從頭到尾的遍歷不需要for,用while是最佳選擇。
2. strlen是很浪費的操作,如果非要用,對同一個不變長度的字串來說,用一個變量來存儲,然后重復使用,比重復計算strlen要好得多。
3. 對數字串來說,可以直接將字符減去'0'得到相應的數字。
4. 比較判斷其實并不比賦值省時,有時候直接賦值,比起比較后再賦值可能更有效率。更何況你的判斷條件達三條之多才決定是否需要賦值。
所以if(a[i+1]=='0'/*或'1'*/||i==strlen(a)-1)可以省掉。
5. 利用數組的下標,會給你帶來意想不到的簡潔。
6. 最后,變量沒有初始化,是算法設計的問題。如果初始條件都沒有確定,只能說明你的算法沒有想清楚。
回復
更多評論
#
re: 變量初始化的重要性! 2005-11-22 13:02
豪
非常感謝網志兄的點評,又學到東西啦!
這六條評論真是受益匪淺啊!
謝謝:)
回復
更多評論
#
re: 變量初始化的重要性! 2005-11-22 13:06
豪
count[index^1] = 0; // count[index?0:1] = 0; // count[index==0?1:0] = 0;
這一行不懂。。。能否解釋一下,謝謝:)
回復
更多評論
#
re: 變量初始化的重要性! 2005-11-22 13:09
豪
查了一下^是按位移或,不過我對位操作一竅不通。。。。。。。。
回復
更多評論
#
re: 變量初始化的重要性! 2005-11-22 13:29
可冰
count[index^1] = 0; // count[index?0:1] = 0; // count[index==0?1:0] = 0;
//===========================
覺得不如下面這個可讀性好或簡潔:
count[ ! index ] = 0;
個人意見哈^-^
回復
更多評論
#
re: 變量初始化的重要性! 2005-11-22 13:35
沐楓網志
意思是,這三條都可以。你可以選一條你認為能夠理解的就可以了。
我建議用
count[index==0? 1 : 0] = 0;
至于可冰的count[!index] = 0;我覺得不好。!是表示邏輯非的操作,用在此處會讓人誤會,代碼不好讀。
回復
更多評論
#
re: 變量初始化的重要性! 2005-11-22 21:10
豪
呵呵,我明白啦,感謝大家啊!
回復
更多評論
#
re: 變量初始化的重要性! 2005-11-28 11:16
很土
變量隨定義隨初始化,隨時的錯誤檢查,這些都是c/c++編程必須要養成的"習慣".有無數的錯誤和這兩個有關.
回復
更多評論
#
re: 變量初始化的重要性! 2005-11-30 12:47
豪
感謝土哥!
回復
更多評論
#
re: 變量初始化的重要性! 2010-05-06 14:00
xypforever
@沐楓網志
這位兄弟令人佩服
回復
更多評論
#
re: 變量初始化的重要性![未登錄]
2010-08-03 16:11
wang
兩個程序效率比 2.8:1
回復
更多評論
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
【推薦】100%開源!大型工業跨平臺軟件C++源碼提供,建模,組態!
相關文章:
真是水,居然可以這樣將int轉成str
內存池(version1.1)
智能指針源碼
More Effective 的 Reference Counting
從二叉樹的遞歸遍歷想到的:利用重載函數,使函數接口更"友好"
又是一題動態規劃--經典
看 c++primer 后的一個問題
遞歸--->計算日期總數
不看書怎么見彩虹?
變量初始化的重要性!
網站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Copyright ©2025 豪 Powered by:
博客園
模板提供:
滬江博客
色欲久久久天天天综合网精品
|
亚洲国产二区三区久久
|
亚洲va久久久噜噜噜久久天堂
|
国产成人久久精品一区二区三区
|
久久精品午夜一区二区福利
|
国产69精品久久久久99尤物
|
久久久久亚洲AV无码观看
|
精品久久久久久久无码
|
热综合一本伊人久久精品
|
少妇精品久久久一区二区三区
|
精品久久久久一区二区三区
|
少妇熟女久久综合网色欲
|
久久久久亚洲AV无码麻豆
|
亚洲国产成人精品无码久久久久久综合
|
久久人人爽人人爽人人片AV高清
|
久久精品中文騷妇女内射
|
亚洲а∨天堂久久精品9966
|
国产精品岛国久久久久
|
久久综合亚洲鲁鲁五月天
|
久久国产精品波多野结衣AV
|
久久er99热精品一区二区
|
久久精品一区二区三区AV
|
久久久受www免费人成
|
亚洲国产精品久久
|
久久精品国产91久久麻豆自制
|
亚洲国产欧洲综合997久久
|
一本大道久久东京热无码AV
|
亚洲国产香蕉人人爽成AV片久久
|
久久免费精品一区二区
|
国内精品久久人妻互换
|
久久久久亚洲av无码专区
|
日韩精品久久无码人妻中文字幕
|
大香伊人久久精品一区二区
|
久久青青色综合
|
亚洲人成网亚洲欧洲无码久久
|
久久r热这里有精品视频
|
色欲久久久天天天综合网
|
久久99国产乱子伦精品免费
|
91久久婷婷国产综合精品青草
|
国产激情久久久久久熟女老人
|
久久精品国产精品亚洲精品
|