题目如下图,我的代码运行是没错的可是提交上pta上就提示段错误!,代码如下,请指出错误,谢谢!

题目如下图,我的代码运行是没错的可是提交上pta上就提示段错误!,代码如下,请指出错误,谢谢!#include<stdio.h>
int main ()
{
int i=0,k=0,index,temp;
char s[20];
while((s[k]=getchar())!='\n')
k++;
s[k]='\0';
for(i=0; s[i]!='\0'; i++){
index=i;
for(k=i+1; s[k]!='\0'; k++){
if(s[k]<s[index]){
temp=s[index];
s[index]=s[k];
s[k]=temp;}

}

}

printf("%s", s);
return 0;
}

#include<iostream>
#include<list>
#include<string>
#include<iterator>
#include<algorithm>
using namespace std;
void OutPut(char i){
    cout << i;
}
int main()
{
    string str;
    cin >> str;
    list<char>tmp;
    for (int i = 0; i < str.size(); i++)
        tmp.push_back(str[i]);
    tmp.sort();
    for_each(tmp.begin(), tmp.end(), OutPut);
    return 0;
}

温馨提示:答案为网友推荐,仅供参考
相似回答