[問題] C++ string 奇怪錯誤
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
ubuntu g++4.8.4
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
剛在刷UVA 10929 程式碼看了很久都不知道錯在哪
餵入的資料(Input):
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
UVA10929.cpp: In function ‘int main()’:
UVA10929.cpp:14:24: warning: comparison between signed and unsigned integer
expressions [-Wsign-compare]
for(int i=0;i<s.size();i++)
^
程式碼(Code):(請善用置底文網頁, 記得排版)
#include<iostream>
#include<string>
using namespace std;
int main()
{
string s;
while(cin>>s && s!="0")
{
long long int sum[2]={0,0};
/*cout<<s.size()<<endl;
這行是我再出錯的時候註解掉以下程式碼測試用的
意外的是這樣子編譯就可以通過 */
for(int i=0;i<s.size();i++)
sum[i%2]+=s[i]-'0';
cout<<s<<"is"<<((sum[0]-sum[1])%11?"not":" ");
cout <<"a multiple of 11." << endl;
}
return 0;
}
補充說明(Supplement):
編譯錯誤,但我丟UVA居然AC了....冏 UVA G++ 版本是4.8.2
我編譯所用的指令是
$ g++ -g -Wall UVA10929.cpp -o UVA10929
是編譯器的問題嗎
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.165.149.139
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1448987479.A.A4A.html
※ 編輯: yongb (1.165.149.139), 12/02/2015 00:32:02
※ 編輯: yongb (1.165.149.139), 12/02/2015 00:32:46
推
12/02 00:42, , 1F
12/02 00:42, 1F
→
12/02 00:42, , 2F
12/02 00:42, 2F
→
12/02 00:42, , 3F
12/02 00:42, 3F
→
12/02 00:43, , 4F
12/02 00:43, 4F
→
12/02 00:43, , 5F
12/02 00:43, 5F
→
12/02 00:44, , 6F
12/02 00:44, 6F
→
12/02 00:45, , 7F
12/02 00:45, 7F
→
12/02 00:45, , 8F
12/02 00:45, 8F
→
12/02 00:45, , 9F
12/02 00:45, 9F
→
12/02 00:46, , 10F
12/02 00:46, 10F
→
12/02 00:47, , 11F
12/02 00:47, 11F
原來如此阿,感謝大大,真的解釋非常清楚,真的學到了
馬上就來實際測試看看
→
12/02 00:59, , 12F
12/02 00:59, 12F
大大是說程式碼嗎?抱歉,傷了你們的眼睛xD
→
12/02 08:05, , 13F
12/02 08:05, 13F
※ 編輯: yongb (114.46.91.60), 12/02/2015 13:27:06