C语言为什么我的代码总是输出超限

C语言为什么我的代码总是输出超限,第1张

cin>>a>>b;改成cin>>a>>b>>b;getchar(); //因为两个字母间要求有一个空格,而且一行只能输入两个字母,所以用getchar();接收最后的回车


#include<cmath>
#include<string>
using namespace std;
int main(){
    // 这里最好不要用string,因为string对里面的字符 *** 作直接 *** 作,是有问题的
    char s1[1024] = {0}, s[1024] = {0};
    int i,j=0;
    cin >> s;
    int l= strlen(s);
    // 这里应该是小于l,而不是小于等于l
    for(i=0; i<l;i++)
    {
        if(s[i]>='A'&&s[i]<='Z')
            s1[j++]=s[i]+('a' - 'A');
        else if(s[i]>='a'&&s[i]<='z')
            s1[j++]=s[i];
        else
            continue;
    }
    cout<<s1<<endl;
    return 0;
}

运行结果:

if (g >=3)
{
g = g - 3 + 1;
b = b + 1;
}//用减法?如果是1000000呢,执行5000000次

比如 a[3] 实际上是只有a[0] a[1] a[2] 设置不好边界就会超限输出
字符串 char str[3] ={'1','2','3'};
如果直接printf(str);由于没有结束符 会一直往后输出 结果超限


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13322867.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-14
下一篇 2023-07-14

发表评论

登录后才能评论

评论列表(0条)

保存