输入问题

P1320 压缩技术(续集版)

Ava_gossipbf @ 2022-03-17 14:27:10

其他代码相同的情况下,用 while(~scanf"%c",&temp) 与 while(cin>>temp),上面用scanf的错误,下面用cin的全正确...请问有大佬知道为什么吗


by panyanppyy @ 2022-03-22 22:30:43

@sw2022_

不是ASCLL -1,是scanf返回值-1


by sw2022 @ 2022-03-24 15:24:43

@panyanppyy 额,我突然想起来你这个有点问题,因为我是怎么求ASCII码的呢?


#include<bits/stdc++.h>
using namespace std;
int main()
{
    cout<<int(要求ASCII码的字符);
    return 0;
}

by sw2022 @ 2022-03-24 15:28:40

它甚至连中文字符都可以求出几万的ASCII码。一般的就更不用说了。不过可显示字符需要加上一对单引号,像End of File这种就直接写EOF,输出的就是-1。

样例

输入#1:'\n'输出#1:10

输入#2:'A'输出#2:65

输入#3:EOF输出#3:-1

by panyanppyy @ 2022-03-24 19:01:06

@sw2022_

我是真的想笑,EOF 是 C++ 内置值就是 -1scanf 的返回值,你用 cin>>aputchar(a)试试。(a 要初始化)

多说一句:char 是无符号的,你赋值为负数就自动溢出了


上一页 |