請問這是甚麼意思:系統呼叫了 abort 函式! *** stack smashing detected ***: terminated aborted (core dumped)
下面是我寫的程式:
#include <iostream>
#include<string>
using namespace std;
int main() {
string s;
string a;
while(cin>>s){
for(int i=0; i<s.size();i++){
a[i]=s[i]-7;
cout<<a[i];
}
cout<<endl;
}
return 0;
}
請問這是甚麼意思:系統呼叫了 abort 函式! *** stack smashing detected ***: terminated aborted (core dumped)
下面是我寫的程式:
#include
#include
using namespace std;
int main() {
string s;
string a;
while(cin>>s){
for(int i=0; i<s.size();i++){
a[i]=s[i]-7;
cout<<a[i];
}
cout<<endl;
}
return 0;
}
string 不是這樣用的...會出現錯誤應該是 a 是空的,a[i] 根本不存在。
你可以不需要用 a,直接 cout<<char(s[i]-7),或者把 string a 改成 char a 然後 a[i] 改成 a 也可,不過就有點多此一舉了