类型转换
一般来说,如果二元运算符的两个操作数具有不同的类型,较低的类型提升为较高类型,结果为较高类型。
表达式由float类型的操作数不会自动转换为double类型。使用float类型主要是为了在使用较大的数组时节省存储空间,节省执行时间(双精度运算特别费时)。
赋值运算符右边的值需要转换为左边变量的类型。
无论是否进行符号扩展,字符型号变量都将转换为整型变量。

int i;
       char c;
       i = c;
       c = i;       //c值将保持原值
或c = i;
   i = c;        //i值可能丢失信息
强制类型转换
       (类型名)表达式

自增自减
if(c == ‘\n’){
       s[i] = c;
       ++i;
}
等价于
if(c == ‘\n’){
       s[i++] = c;

}

 #include <stdio.h>
void squeeze(char s[], int c); main(){
int d;
char s[] = "abcd$%^^&*(tewrtopwert";
squeeze(s,'$');
printf("%s", s); //输出abcd%^^&*(tewrtopwert
return ;
} /**从字符串s中删除字符c**/
void squeeze(char s[], int c){
int i,j;
for(i = j = ; s[i] != '\0'; i++){
if(s[i] != c){
s[j++] = s[i];
}
}
s[j] = '\0';
}

php实现

 <?php
$str = 'abcdefg';
function del_w($str,$w){
/*
$new_str = '';
for($i=0,$len=strlen($str); $i<$len; $i++){
if($str[$i] != $w){
$new_str .= $str[$i];
}
}
*/
for($i=$j=0,$len=strlen($str); $i<$len; $i++){
if($str[$i] != $w){
$str[$j++] = $str[$i];
}
}
return $str;
}
echo del_w($str,'d');
?>

 #include <stdio.h>
void strcat(char s[], char t[]); main(){
int d;
char s[] = "abcd$%^^&*(tewrtopwert";
char t[] = "";
strcat(s,t);
printf("%s", s);
return ;
} /****将字符串t连接到字符串s的尾部,s必须有足够大的空间****/
void strcat(char s[], char t[]){
int i,j;
i = j = ;
while(s[i] != '\0'){
i++;
}
while((s[i++] = t[j++]) != '\0'){
;
}
}

 <?php
$str1 = 'abcd$%^^&*(tewrtopwert123';
$str2 = '1234567890abcd';
function squeeze($str1, $str2){
for($i=0,$len1=strlen($str1); $i<$len1; $i++){
$b = false;
    $str3 = array();
for($j=0,$len2=strlen($str2); $j<$len2; $j++){
if($str1[$i] == $str2[$j]){
$b = true;
break;
}
}
if(!$b){
$str3[] = $str1[$i];
}
}
return $str3;
}
echo implode('',squeeze($str1, $str2));
?>

以上C程序基本是书上有的,边看边抄下来,感到很惭愧,为什么自己想不到这么巧妙的方法。。。

越来越感觉到自己的算法很糟糕很糟糕了,得恶补,一天一点点!

重拾C,一天一点点_2的更多相关文章

  1. 重拾C,一天一点点

    数据类型及长度 char        字符型,占用一个字节 int          整型,通常代表特定机器中整数的自然长度 short       16位 int         16位或32位 ...

  2. 重拾C

    重拾C,一天一点点_10 来博客园今天刚好两年了,两年前开始学编程. 忙碌近两个月,项目昨天上线了,真心不容易,也不敢懈怠,接下来的问题会更多.这两天调试服务器,遇到不少麻烦. 刚出去溜达了一下,晚上 ...

  3. CSS魔法堂:重拾Border之——更广阔的遐想

    前言  当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...

  4. CSS魔法堂:重拾Border之——不仅仅是圆角

    前言  当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...

  5. CSS魔法堂:重拾Border之——图片作边框

    前言  当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...

  6. CSS魔法堂:重拾Border之——解构Border

    前言  当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...

  7. 重拾Blog

    上个月是我入职现在的公司三周年的月份,所以又续订了五年的合同,最近有一些思考,也不知道这个五年能否还会一直在这个公司工作. 一切随缘吧. 闲适有毒,忙碌的时光总是过的很快,自从加入这个公司以来,日常的 ...

  8. [linux]重拾linux

    起因 因为想重拾起linux,同时需要用docker起几个镜像,用来学习网络知识.本来想直接去阿里云上买,后来一想自己机器上,起一个linux是个不错的选择,毕竟不花钱! 还可以用来做本地测试,学习使 ...

  9. 重拾qt

    最近公司又接了一个煤矿的项目,要写个小程序摘取数据,我是公司唯一c++程序员,本来搞ios搞好好的,现在又得重拾半年没摸得qt了.呵呵...呵呵呵. 这里只记录这次小程序的一些小的总结吧.. 1.中文 ...

随机推荐

  1. ScrollView嵌套ListView的滑动冲突问题,是看大神的方法的,作为学习以后用的到

    在工作中,曾多次碰到ScrollView嵌套ListView的问题,网上的解决方法有很多种,但是杂而不全.我试过很多种方法,它们各有利弊. 在这里我将会从使用ScrollView嵌套ListView结 ...

  2. Handler发送消息

    Handler发送消息小结 字数283 阅读210 评论0 喜欢1 obtainMessage()得到一个Message对象. 创建一个Message然后发送是这么写的: Message msg = ...

  3. [Javascript]jquery $(document).ready() 与window.onload的区别

    引用:http://www.jb51.net/article/21628.htm Jquery中$(document).ready()的作用类似于传统JavaScript中的window.onload ...

  4. 3. Android框架和工具之 xUtils(DbUtils )

    1. xUtils简介 xUtils 包含了很多实用的android工具.xUtils 最初源于Afinal框架,进行了大量重构,使得xUtils支持大文件上传,更全面的http请求协议支持(10种谓 ...

  5. Java Script基础(十一) 表单验证

    一.表单验证的必要性: 表单验证在客户端和服务器端,客户端验证实际是直接调用JavaScript脚本对用户输入的数据进行验证:而服务器也同样可以实现数据验证,但是当服务器压力过大时,资源损耗会比较严重 ...

  6. java程序执行内存处理过程

    我们学习知识,不仅要知其然,还要知其所以然,你的工资必定和你学习的深度成正比. 在以往.net的学习过程中,我们了解了怎么去开发一个程序,并有了一定的开发经验,但是一个程序具体是怎么在内存中运行的呢? ...

  7. Oracle基础<1>--数据库设计

    一:为什么需要使用数据库设计 数据库设计可以使数据库通过健壮的数据库结构  高效并且健康  的进行工作. 二.数据库设计原则 (数据库设计.系统设计.架构设计) 1.熟悉需求 保证之后需求的变更 不会 ...

  8. oneThink 数据库连接失败,总提示密码不对的解决办法

    oneThink的数据库配置文件是\Application\Common\Conf\config.php,按理来说,在这里修改数据库配置应该就可以重新连接,可是不管我怎么修改密码总是和我设置的不一致, ...

  9. apache2.4的安装与卸载

    安装sudo apt-get install apache2,这不是源码安装的方式,产生的apache地址在/etc/apache2,配置文件是apache2.conf如果浏览器输入127.0.0.1 ...

  10. crawler4j:轻量级多线程网络爬虫实例

    crawler4j是Java实现的开源网络爬虫.提供了简单易用的接口,可以在几分钟内创建一个多线程网络爬虫. 下面实例结合jsoup(中文版API),javacvs 爬取自如租房网(http://sh ...