社区讨论

求助

P1196[NOI2002] 银河英雄传说参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@mi6yn3kd
此快照首次捕获于
2025/11/20 12:57
4 个月前
此快照最后确认于
2025/11/20 12:57
4 个月前
查看原帖
求助字符读入方式,如果是
CPP
char opt;  int x,y;
scanf("%c",&opt);read(x);read(y);
if(opt=='M') unionset(x,y);
    	else {
    		int xx=findfa(x);
    		int yy=findfa(y);
    		if(xx!=yy) printf("-1\n");
    		else printf("%d\n",abs(d[x]-d[y])-1);
    	}
就会本地(Windows10)AC,在IDE上全输出-1
但是如果换成
CPP
	char opt[3];  int x,y;
    	scanf("%s",opt);read(x);read(y);
    	if(opt[0]=='M') unionset(x,y);
    	else {
    		int xx=findfa(x);
    		int yy=findfa(y);
    		if(xx!=yy) printf("-1\n");
    		else printf("%d\n",abs(d[x]-d[y])-1);
    	}
就本机与测评都能过,有大佬可以解释一下是为什么吗?
类似的用string和getchar有什么类似的注意事项吗?感激不尽!

回复

1 条回复,欢迎继续交流。

正在加载回复...