学习OI(C++)犯过的低级错误(持续更新)

tech2023-02-02  114

输入输出

scanf和printf

scanf

输入变量和字符时没有打“&”号。 scanf("%lld",a); scanf("%c",a); //scanf("%lld",&a); //scanf("%c",&a); 输入字符串时打了“&”号。 scanf("%s",&a); //scanf("%s",a);

printf

输出时打了“&”号。

printf("%lld",&a); //printf("%lld",a);

cin和cout

cin

输入时打<<。

cin<<a; //cin>>a;

cout

输出时打>>。

cout>>a; //cout<<a;

读、输优

读优

n=read();打成了read(n);。

inline long long read() { long long x=0,f=0; char ch=getchar(); while(ch<'0'||ch>'9') { f|=ch=='-'; ch=getchar(); } while(ch>='0'&&ch<='9') { x=(x<<3)+(x<<1)+(ch^48); ch=getchar(); } return f?-x:x; } int main() { read(n); //n=read(); return 0; }

其他

while循环没有无限输出。输出时没有换行。没有无限输入。

定义变量

炸int,开long long呗。炸long long,开int__128呗。开long long爆内存,开int呗。炸int__128,打高精度。

代码中

double类型的变量去取模。取模取爆了。头文件打少了,比如不打#include<cstdio>二分时l=mid打成了l=mid+1。打函数时int打成了void。

考试

打表打漏了。考试时打#include<bits/stdc++.h>(考试时不能用)。考试时打int__128(考试时不能用)。
最新回复(0)