随笔分类 - 知识总结
好记性不如烂笔头
摘要:%*c的标准用法是什么。它的意义何在? 我所知道的是它经常出现在例如 cscanf("%s%*c",&a);语句中。 你的例子中的%*c的作用是读入'\n',即回车符,否则后面读入的将是'\n'。 "*"表示该输入项读入后不赋予任何变量,即跳过该输入值。 这在减小内存开支上面还是有一点用处的,不需要的字符直接跳过,免得申请没用的变量空间 其实还有更强大的一些字符串读入技巧,如下: 对于输入字符串还有一些比较有用的控制, 经常需要读入一行字符串,而这串字符里面可能有空格、制表符等空白字符, 如果直接用%s是不可以的,
阅读全文
摘要:using namespace std编辑所谓namespace,是指标识符的各种可见范围。C++标准程序库中的所有标识符都被定义于一个名为std的namespace中。目录1区别介绍2简便理解1区别介绍编辑iostream和iostream.h的区别前者没有后缀,实际上,在你的编译器include文件夹里面可以看到,二者是两个文件,打开文件就会发现,里面的代码是不一样的。 后缀为.h的头文件c++标准已经明确提出不支持了,早些的实现将标准库功能定义在全局空间里,声明在带.h后缀的头文件里,c++标准为了和C区别开,也为了正确使用命名空间,规定头文件不使用后缀.h。 因 此,当使用时,相当于在
阅读全文
摘要:/*暴力因式分解*/#include #include #defineN10000 intcnt[N];boolprime[N];voidPrim(){memset(prime,false,sizeof(prime));prime[1]=true;inti,j;for(i=2;i#include#define N 10000int cnt[N];bool prime[N];void Prim(){ memset(prime,false,sizeof(prime)); prime[1] = true; int i,j; for(i=2;iint main(){ int i,j,k,m,n,s;
阅读全文
摘要:strlen(C语言函数)编辑strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计数器值。目录1函数简介2程序举例3与sizeof函数的区别1函数简介编辑原型:extern unsigned int strlen(char *s);在Visual C++ 6.0中,原型为size_tstrlen(const char *string); ,其中size_t实际上是unsigned int,在VC6.0中可以看到这样的代码:typedef unsign
阅读全文
摘要:1。void *memset(void *s,int c,size_t n)总的作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c。2。例子 #includevoid main(){ char *s="Golden Global View";clrscr();memset(s,'G',6); printf("%s",s);getchar(); return 0; } 3。memset() 函数常用于内存空间初始化。如: char str[100]; memset(str,0,100);4。memset()的深刻内涵:用来对一段内存
阅读全文
摘要:gets() 函数 【1】函数:gets(字符指针) 【2】头文件:stdio.h(c中),c++不需包含此头文件 【3】原型:char *gets( char *buffer ); 【4】功能:从stdio流中读取字符串,直至接受到换行符或EOF时停止,并将读取的结果存放在buffer指针所指向的字符数组中。换行符不作为读取串的内容,读取的换行符被转换为null值,并由此来结束字符串。 【5】注意:本函数可以无限读取,不会判断上限,所以程序员应该确保str的空间足够大,以便在执行读操作时不发生溢出。如果溢出,多出来的字符将被写入到缓冲区后面的内存位置,这将破坏一个或多个...
阅读全文

浙公网安备 33010602011771号