• string subscript out of range


    刚刚练习华为机试上的题目遇到了这个问题,奉上两个小题:

    //题目描述
    //
    //描述:
    //输入一个整数,将这个整数以字符串的形式逆序输出
    //程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001
    //
    //
    //输入描述 :
    //输入一个int整数
    //
    //
    //输出描述 :
    //将这个整数以字符串的形式逆序输出
    
    //
    ////先居然想到了用栈,因为像数制转换一样,要逆序输出,结果直接从后面取每一位输出即可。
    #include<iostream>
    using namespace std;
    int main()
    {
        int input;
        while (cin>>input)
        {
            int bit;
            while (input)
            {
                bit = input % 10;
                cout << bit;
                input /= 10;
            }
            cout << endl;
        }
        return 0;
    }
    
    
    //题目描述
    //
    //写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串。例如:
    //
    //输入描述 :
    //输入N个字符
    //
    //
    //输出描述 :
    //输出该字符串反转后的字符串
    
    #include<iostream>
    #include<string>
    using namespace std;
    int main()
    {
        string str="";
        while (getline(cin,str))
        {
            ////string subscript out of range
            ////1.有说没有初始化的,2有说cin >> n; 后面加一句cin.ignore(); 过滤掉上一句cin中的回车 ;但是没有找到答案
    //// for (int /*size_t*/ i = str.size()-1; i >=0; i--)    //发现问题,size_t为unsigned int,i=-1时,补码为正数,数组溢出 //改为int即可
    //for (size_t i = str.size()-1; i >=0; i--) //{ // cout << str[i]; //为什么这样做就会数组大小溢出 //} for (size_t i = str.size(); i >0; i--) //正确 { cout << str[i-1]; } cout << endl; } return 0; }
  • 相关阅读:
    JS 按钮下一步(onclick点击事件)
    socketserver模块
    进程
    僵尸进程和孤儿进程
    守护进程
    互斥锁
    进程间通信=>IPC机制
    生产者消费者模型
    线程
    守护线程
  • 原文地址:https://www.cnblogs.com/ranjiewen/p/5303835.html
Copyright © 2020-2023  润新知