1,写for循环的时候遇到一个问题
for(int i=0, int j=9; i<j; i++, j--) //错误在定义两个变量时出错,int i=0, j=9;
{
cout<<"j-i"<<j-i<<endl;
}
报错:error: expected unqualified-id before ‘int’
2.涉及两个文件的处理
file1.cpp中定义了一个void reverse(char s[]);
file2.cpp中要用void reverse(char s[]);
分别编译出现问题:undefined reference to `reverse(char*)'
必须把两个有依赖关系的文件同时编译:g++ -o dl.o file1.cpp file2.cpp
这是再运行dl.o就可以了。
如果是有很多文件则需要在makefile中指定出文件之间的依赖关系和链接关系等等
3.scanf对应的输入和想要的结果不一样
一:while(scanf("%s, %d", a, &b)!=EOF){};
输入:1.2 3
结果:将“1.2”转化成1.2,然后求1.2的3次方,一直是1
调试:b的值并不是3而是0
修改:二:while(scanf("%s %d", a, &b)!=EOF){};
补充:对第一种形式,不可以输入》1.2,2 这样的话a="1.2,"还是不正确
warning!!!!!!输入必须和格式保持一致
4.scanf和getchar从输入流读取数据失败的原因
深入探索:http://blog.csdn.net/lihao21/article/details/6106696
5.关于switch的用法,出错
Error: Jump to case label
void loop(int type){
int sum=0;
switch(type){
case 0:
for(int i=1; i<=100; i++)
sum+=i;
printf("%d\n",sum);
break;
case 1:
int j=1;
while(j<=100){
sum+=j;
j++;
}
printf("%d\n",sum);
break;
case 2:
int t=1;
do
sum+=t; //这里有个错误,t没有自增,所以会死循环
while(t<=100);
printf("%d\n",sum);
break;
default :
printf("wrong type");
break;
}
}
1.这里的case对其后语句中定义的变量的作用域是不起隔离作用的,也就是说,在case 1:后面定义的变量,在case 3:的时候仍然存在
for (int i = 0; i < numtochar.length(); i++) {
chartonum += chartonum * 10 + numtochar[i] - '0'; //错误
}