系统差异导致的惨剧?

P1320 压缩技术(续集版)

MZW_BG @ 2019-02-02 11:38:46

RT,linux下的gets是不是会向字符串中输入换行符的?

我的程序提交后总是把每一行的长度多判1

代码:

#include<cstdio>
#include<cstring>
using namespace std;
char s[51000],tmp[210];
int main()
{
    gets(s+1);
    int n=strlen(s+1);
    for(int i=2;i<=n;i++)
    gets(tmp),
    strcat(s+(i-1)*n,tmp);
    printf("%d ",n);
    int len=1;
    if(s[1])printf("0 ");
    for(int i=2;i<=n*n;i++)
    if(s[i]==s[i-1])len++;
    else printf("%d ",len),len=1;
    printf("%d ",len);
    return 0;
}

by 氷スイカ233 @ 2019-02-02 11:41:07

@MZW_BG 告诉你,Windows也会的。。。


by 氷スイカ233 @ 2019-02-02 11:41:43

@MZW_BG 后面加一个

getchar();

就好了。。。


by MZW_BG @ 2019-02-02 11:43:37

@Ice_watermelon233 没有我在windows下测试是AC的QAQ

莫名想到了某BZOJ神帖……降雨量什么的


by 氷スイカ233 @ 2019-02-02 11:44:27

@MZW_BG 233,你试试UTF_8


by 氷スイカ233 @ 2019-02-02 11:44:51

@MZW_BG 反正最好加上


by 氷スイカ233 @ 2019-02-02 11:45:28

@MZW_BG 文件输入中有换行就有,没有就没有。但是一般都有


by MZW_BG @ 2019-02-02 11:45:57

@Ice_watermelon233 ???

话说在哪里加getchar?


by 氷スイカ233 @ 2019-02-02 11:46:41

@MZW_BG gets后面


by 氷スイカ233 @ 2019-02-02 11:47:14

@MZW_BG 所以说Java是最好的语言


by 1124828077ccj @ 2019-02-02 12:19:16

为何不用scanf呢。。。


| 下一页