2
爲什麼我的代碼沒有顯示10 5 3的輸入。它一直工作到1到9,但每當它變爲10或更大時,則10不顯示任何輸出。我也嘗試使用atoi(),但在這行int x = str [j] - '0'錯誤。請幫幫我。無法將字符轉換爲循環中的C++整數
#include<iostream>
#include<string>
#include<cstdlib>
using namespace std;
int main()
{
int n, sum = 1, num = 0;
string str;
cin >> n;
for(int i = 0; i <= n; i++) {
getline(cin, str);
for(int j = 0; j < str.length(); j++) {
if(str[j] != ' ') {
int x = str[j] - '0'; // Here is the problem even I use atoi() but error
sum *= x;
num = sum;
}
}
if(num != 0) {
cout << num << endl;
num = 0;
sum = 1;
}
}
}
當'x'爲0時,'sum * = x'是做什麼的? – Barmar
您正在乘以所有數字。當你乘以0時,你得到0. – Barmar
在這種情況下如何將字符轉換爲整數 –