十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
conio.h不是c标准头文件,建议不要用这个头文件。把这个头文件删掉。
创新互联是一家专业提供梅河口企业网站建设,专注与成都网站设计、成都做网站、H5网站设计、小程序制作等业务。10年已为梅河口众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。
将读入密码那行的函数改用gets
gets(input_pass);
另外为了避免bug,input_pass最好弄大一点。
C语言特点
基本特性
C++语言代码
1、高级语言:它是把高级语言的基本结构和语句与低级语言的实用性结合起来的工作单元。 [10]
2、结构式语言:结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。 [10]
4、代码级别的跨平台:由于标准的存在,使得几乎同样的C代码可用于多种操作系统,如Windows、DOS、UNIX等等;也适用于多种机型。C语言对编写需要进行硬件操作的场合,优于其它高级语言。 [10]
5、使用指针:可以直接进行靠近硬件的操作,但是C的指针操作不做保护,也给它带来了很多不安全的因素。C++在这方面做了改进,在保留了指针操作的同时又增强了安全性,受到了一些用户的支持,但是,由于这些改进增加语言的复杂度,也为另一部分所诟病。Java则吸取了C++的教训,取消了指针操作,也取消了C++改进中一些备受争议的地方,在安全性和适合性方面均取得良好的效果,但其本身解释在虚拟机中运行,运行效率低于C++/C。一般而言,C,C++,java被视为同一系的语言,它们长期占据着程序使用榜的前三名。 [11]
特有特点
C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。
C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。
不同的变量类型可以用结构体(struct)组合在一起。
只有32个保留字(reserved keywords),使变量、函数命名有更多弹性。
部份的变量类型可以转换,例如整型和字符型变量。
通过指针(pointer),C语言可以容易的对存储器进行低级控制。
预编译处理(preprocessor)让C语言的编译更具有弹性。
是三种不同的函数验证登陆吧,check1、check2、check3三类函数分别如下:
void check1()输入输出功能全部在函数完成;
void check2(name,pass)输入在main中传入函数进行判断输出;
int check3(name,pass)输入输出均在main函数完成,函数只做判断返回结果。
#include "stdafx.h"
#include iostream
#include string
void check1()
{
char name[10], pass[10];
printf("请输入账号和密码:\n");
scanf_s("%s%s", name, 10, pass, 10);
if (!strcmp(name,"admin")!strcmp(pass,"123"))
printf("账号密码正确!\n");
else
printf("账号或密码错误!\n");
}
void check2(char *n, char *p)
{
if (!strcmp(n, "admin") !strcmp(p, "123"))
printf("账号密码正确!\n");
else
printf("账号或密码错误!\n");
}
int check3(char *n, char *p)
{
if (!strcmp(n, "admin") !strcmp(p, "123"))
return 1;
else
return 2;
}
int main()
{
char name[10], pass[10];
check1();
printf("请输入账号和密码:\n");
scanf_s("%s%s", name, 10, pass, 10);
check2(name, pass);
printf("请输入账号和密码:\n");
scanf_s("%s%s", name, 10, pass, 10);
if(check3(name,pass)==1)
printf("账号密码正确!\n");
if(check3(name,pass)==2)
printf("账号或密码错误!\n");
system("pause");
return 0;
}
部分白盒测试工具介绍
Parasoft白盒测试工具集
Jtest Java 代码分析和动态类、组件测试
Jcontract Java 实时性能监控以及分析优化
C++ Test C,C++ 代码分析和动态测试
CodeWizard C,C++ 代码静态分析
Insure++ C,C++ 实时性能监控以及分析优化
其它公司
.test .Net 代码分析和动态测试
logiscope c/c++ Verlog公司的静态、动态分析工具
还有testbed、Cantata c/c++等
Rational工具集中的puricoverage和purify、quantify
Compuware白盒测试工具集
BoundsChecker C++,Delphi API和OLE错误检查、指针和泄露错误检查、内存错误检查
TrueTime C++,Java,Visual Basic 代码运行效率检查、组件性能的分析
FailSafe Visual Basic 自动错误处理和恢复系统
Jcheck M$ Visual J++ 图形化的纯种和事件分析工具
TrueCoverage C++,Java,Visual Basic 函数调用次数、所占比率统计以及稳定性跟踪
SmartCheck Visual Basic 函数调用次数、所占比率统计以及稳定性跟踪
CodeReview Visual Basic 自动源代码分析工具
Xunit白盒测试工具集
Aunit Ada
CppUnit C++
ComUnit VB,COM
Dunit Delphi
DotUnit .Net
HttpUnit Web
HtmlUnit Web
Jtest Java
JsUnit(Hieatt) javascript 1.4以上
PhpUnit Php
PerlUnit Perl
XmlUnit Xml
DUnit .net
JUnit java