C++中的易错点

int t;
when(t<pattern.size())
{
printf("Yes");
}

上述代码中,当t==-1时,t 可以改写成 int m=pattern.size(),这时 -1 2.
wrong answer
考虑变量的范围,是否每次循环变量需要重新赋值
if中的条件语句==是两个,很容易把写成一个=造成错误
3.
cin>>str; cin是見到空格就結束
getline(cin,str) 是見到換行符就結束
在scanf或者cin後面使用getline的,一定要在scanf和cin後面使用getchar()吃掉回車,再用getline

scanf
getchar()
getline(cin,str)
类似这样输入的
需要在中间插入一个getchar()从而吃掉回车

4.C++中输出02.03.04这种不够两位前面补零使用%02d
绝对值:abs() sqrt()
5.

	string answer = myMap[num];
				if (answer == "")    //這裏是什麽也沒有很容易寫成“ ”即有一個空格
				{
 					answer = "No answer";
				}

6.如果让输入一行,说是遇到换行符结束那么

while (cin>>arr[i++])
		{
			if (getchar() == '\n')
				break;
		}

7.计算日期的时候默认 0001-01-01 是星期一,这是第一天

你可能感兴趣的:(代码错误归类,c++)