1.进行等值判断时,应该使用“==”,而不是“=”。
2.有关变量名起名要注意不要混淆。
3.曾经一段if else出错怎么也找不到原因,后来发现原来写成了
if( );
else{
}
4.
struct student{
char id[15];
int score;
int l_rank;
int location;
};
scanf("%s %d",stu[num].id,&stu[num].score);
注意一下&的使用
5.注意下cin遇到空格和换行都会结束,不会接收
6.之前曾经把i写成了flag,找了半天才发现。运行的时候会直接出不来结果。
void SG_key()
{
char m[100]={' '};//存放明文
getchar();
cout<<"请输入明文:"<<endl;
int flag=1;
char c;
scanf("%c",&c);
while(c!='\n'){
if(c!=' '){
m[flag]=c;
flag++;
}
scanf("%c",&c);
}
cout<<"密文为:"<<endl;
for(int i=1;i<=flag-1;i=i+2){
cout<<m[i];
}
cout<<" ";
for(int i=2;i<=flag-1;i=i+2){
cout<<m[i];
}
}
7.这个是两个小伙伴都和我提过的被坑了的地方:
java里面string不能用==判断相等。
8.写代码20分钟,找bug40分钟。。。。
注意printf输出的时候什么类型的数据%后加什么;
使用vector创建一个数组时,如果没有指定初始大小,直接给第i位赋值会出错;
c里面没有vector,
#include<cstdio>
#include<vector>
#include <iostream>
using namespace std;
int main()
{
vector<string>card1={"hello"};
cout<<card1[0];
cout<<endl;
printf("%s",card1[0]);
return 0;
}
所以printf输出会乱码。