50个C语言/C++程序员必会遇到的疑难解答( 四 )


文章插图
 

50个C语言/C++程序员必会遇到的疑难解答

文章插图
 

50个C语言/C++程序员必会遇到的疑难解答

文章插图
 
28. break和continue的作用break使用的场合比较多,在while语句,for语句,switch语句,都可以使用 。在while语句和for语句中,break的作用,就是直接结束结束循环,跳转到该循环语句之后的语句执行 。在多重嵌套循环中,break只能跳出所在那一层循环 。在switch语句中,break的作用,就是直接结束switch语句,跳转到switch后面的语句执行 。continue语句,在while语句,for语句中都可以使用 。在while或for语句中,如果遇到continue语句,就直接结束本次循环,进入下一轮循环的判定语句 。特别注意的是,在for循环中,如果遇到了continue语句,还是会先执行for语句中第3个表达式,然后再判断第2个表达式 。
29. strlen
50个C语言/C++程序员必会遇到的疑难解答

文章插图
 

50个C语言/C++程序员必会遇到的疑难解答

文章插图
 
30. 逗号表达式
#include <stdio.h> int main(void){ intx,y; //先计算x=10 x= 10, 11, 12;//(10,11,12)这个逗号表达式的值的12,最后执行赋值运算 y= (10,11,12);printf("x=%dn",x); printf("y=%dn",y); return0;} 31. vs不能使用scanf等函数方法一:把scanf改为scanf_s;.
方法二:无需在程序最前面加那行代码,只需在新建项目时取消勾选“SDL检查”即可;
50个C语言/C++程序员必会遇到的疑难解答

文章插图
 
方法三:若项目已建立好,在项目属性里关闭SDL也行;
50个C语言/C++程序员必会遇到的疑难解答

文章插图
 
32. scanf,fscanf 读字符串
50个C语言/C++程序员必会遇到的疑难解答

文章插图
 
33. strcmp
50个C语言/C++程序员必会遇到的疑难解答

文章插图
 
34. 扩展名windowsXP配置方式
50个C语言/C++程序员必会遇到的疑难解答

文章插图
 

50个C语言/C++程序员必会遇到的疑难解答

文章插图
 
再单击确定 。
windows10:
50个C语言/C++程序员必会遇到的疑难解答

文章插图
 

50个C语言/C++程序员必会遇到的疑难解答

文章插图
 
35. 密码输入#include<conio.h>#include<stdio.h> int main(void){ charpwd[32]; intch; inti = 0; while(1) { ch= getch(); if(ch == 'r') { break; } pwd[i]= ch; i++; putch('*'); } pwd[i]= 0; printf("n您输入的密码是:%sn", pwd); return0;} 或者:
void input_pwd(char *pwd, int max_len) { charc; inti = 0;printf("Pleaseinput pwd: ");while(1) { c= getch();// getch不从输入缓冲区中读取 //在getch中,把回车按键输入,识别为回车符'r' //在getchar中,把回车按键输入,识别为换行符'n' if(c == 'r' || i >= max_len) {pwd[i]= 0; break; } pwd[i++]= c; printf("*",c); }}36 虚拟机打开失败
50个C语言/C++程序员必会遇到的疑难解答

文章插图
 
需要重启系统,然后按一个快捷键(不同的电脑,按键不同,可以搜索“自己的电脑型号 进入BIOS”),进入BIOS
然后在BIOS界面中,找到一个 virtualization相关的一个选项,设置为Enable, 然后按F10退出重启即可 。
37 可执行文件名同名如果程序文件名是 hello.c
那么编译时使用:gcc hello.c
得到的可执行文件就是 a.exe
如果再使用: gcc test.c
得到的可执行文件 a.exe就会覆盖原来的a.exe
可以使用 -o选项来指定生成的可执行文件名
例如:
gcc hello.c -o myHello 得到的可执行文件的文件名是 myHello
gcc test.c -o myTest 得到的可执行文件的文件名是 myTest
-o后面可以使用任意名称 。
38 变量的作用域变量的定义,比如 int s = 0; 或 int s;
如果这个变量的定义放在某个 { }内,那么这个变量只能在这个大括号内生存,也就是说,只能在这个大括号有效
{ int s = 0; { int s = 10;printf("s=%dn", x); //打印s=10, 如果小范围的某个变量,如果和外面的某个变量同名,那么在这个小范围内,都认为是小范围的变量 } printf("s=%dn", x); //打印s=0}


推荐阅读