随笔分类 -  [C&C++ 学习]

摘要:问:有人告诉我不能在printf中使用%lf。为什么printf()用%f输出double型,而scanf却用%lf呢?答:printf的%f说明符的确既可以输出float型又可以输出double型。根据“默认参数提升”规则(在printf这样的函数的可变参数列表中,不论作用域内有没有原型,都适用这一规则)float型会被提升为double型。因此printf()只会看到双精度数。参见问题15.2。对于scanf,情况就完全不同了,它接受指针,这里没有类似的类型提升。(通过指针)向float存储和向double存储大不一样,因此,scanf区别%f和%lf。下表列出了printf和scanf对 阅读全文
posted @ 2012-11-25 22:51 Clin 阅读(485) 评论(0) 推荐(0)
摘要:【程序001】 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。2.程序源代码: 1 /** 2 Description: 题目001 3 */ 4 #include<stdio.h> 5 6 int main(){ 7 int i, j, k; 8 9 for (i = 1; i < 5; i++){ /*以下为三重循环*/10 for (j = 1; j < 5; j++){11 ... 阅读全文
posted @ 2012-07-31 17:32 Clin 阅读(439) 评论(0) 推荐(0)
摘要:原文地址:http://www.cnblogs.com/lancidie/archive/2011/08/05/2128318.html[导语]内存管理是C++最令人切齿痛恨的问题,也是C++最有争议的问题,C++高手从中获得了更好的性能,更大的自由,C++菜鸟的收获则是一遍一遍的检查代码和对C++的痛恨,但内存管理在C++中无处不在,内存泄漏几乎在每个C++程序中都会发生,因此要想成为C++高手,内存管理一关是必须要过的,除非放弃C++,转到Java或者.NET,他们的内存管理基本是自动的,当然你也放弃了自由和对内存的支配权,还放弃了C++超绝的性能。本期专题将从内存管理、内存泄漏、内存回收 阅读全文
posted @ 2011-12-14 16:38 Clin 阅读(239) 评论(0) 推荐(0)
摘要:原文地址:http://blog.csdn.net/Last_Time/archive/2009/11/15/4812520.aspx1.重载(overload)我们在C中常常需要两个或多个函数完成相同的任务,但是参数的数据类型不同比如large(int i ,int j),large(float i,float j)所以第一种解决方法就是large_int(),large_float(),但是这种方法比较笨拙,所以我们要找一种比较高明的方法,很幸运C++给我们提供了这样的一种机制—重载。我在同一个程序中可以使用同名的若干函数,但是当然要有限制啦,编译器可不比人聪明,我们要让编译器能唯一区分这 阅读全文
posted @ 2011-12-09 14:17 Clin 阅读(336) 评论(0) 推荐(0)
摘要:1 //代码参考C++primer. 2 3 4 5 #include<iostream> 6 7 using namespace std; 8 9 10 11 class String{ 12 13 friend ostream& operator<< (ostream&,String&); 14 15 public: 16 17 String(const char* str=NULL); //赋值构造兼默认构造函数(char) 18 19 String(const String &other)... 阅读全文
posted @ 2011-11-09 11:09 Clin 阅读(269) 评论(0) 推荐(0)
摘要:1 #include <stdio.h> 2 #include <string.h> 3 4 class String 5 { 6 public: 7 String(const char *str = NULL); 8 ~String(); 9 String(const String &other);10 String& operator = (const String &other);11 private:12 char *m_data;13 };14 15 String::~String()16 {17 delete [] m_data;.. 阅读全文
posted @ 2011-11-09 11:08 Clin 阅读(158) 评论(0) 推荐(0)
摘要:1.str_cmp函数实现View Code 1 int str_cmp(const char *src, const char *dst) 2 { 3 int ret = 0; 4 while (!(ret = *(unsigned char*)src) - *(unsigned char*)dst && *dst) 5 { 6 ++src; 7 ++dst; 8 } 9 10 if (ret < 0) 11 {12 ret = -1;13 }14 else if (r... 阅读全文
posted @ 2011-11-08 19:56 Clin 阅读(304) 评论(0) 推荐(0)