重拾C,一天一点点_2
类型转换
一般来说,如果二元运算符的两个操作数具有不同的类型,较低的类型提升为较高类型,结果为较高类型。
表达式由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的更多相关文章
- 重拾C,一天一点点
数据类型及长度 char 字符型,占用一个字节 int 整型,通常代表特定机器中整数的自然长度 short 16位 int 16位或32位 ...
- 重拾C
重拾C,一天一点点_10 来博客园今天刚好两年了,两年前开始学编程. 忙碌近两个月,项目昨天上线了,真心不容易,也不敢懈怠,接下来的问题会更多.这两天调试服务器,遇到不少麻烦. 刚出去溜达了一下,晚上 ...
- CSS魔法堂:重拾Border之——更广阔的遐想
前言 当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...
- CSS魔法堂:重拾Border之——不仅仅是圆角
前言 当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...
- CSS魔法堂:重拾Border之——图片作边框
前言 当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...
- CSS魔法堂:重拾Border之——解构Border
前言 当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...
- 重拾Blog
上个月是我入职现在的公司三周年的月份,所以又续订了五年的合同,最近有一些思考,也不知道这个五年能否还会一直在这个公司工作. 一切随缘吧. 闲适有毒,忙碌的时光总是过的很快,自从加入这个公司以来,日常的 ...
- [linux]重拾linux
起因 因为想重拾起linux,同时需要用docker起几个镜像,用来学习网络知识.本来想直接去阿里云上买,后来一想自己机器上,起一个linux是个不错的选择,毕竟不花钱! 还可以用来做本地测试,学习使 ...
- 重拾qt
最近公司又接了一个煤矿的项目,要写个小程序摘取数据,我是公司唯一c++程序员,本来搞ios搞好好的,现在又得重拾半年没摸得qt了.呵呵...呵呵呵. 这里只记录这次小程序的一些小的总结吧.. 1.中文 ...
随机推荐
- 顺丰快递单号查询api对接(全代码)
接口支持的消息接收方式:HTTP POST 请求方法的编码格式(utf-8):"application/x-www-form-urlencoded;charset=utf-8" 请 ...
- 共享锁(S锁)和排它锁(X锁)
1 什么叫数据库共享锁[S]锁和[X]锁 共享锁[S锁] 又称读锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁.这保 ...
- android 布局之滑动探究 scrollTo 和 scrollBy 方法使用说明
涉及到滑动,就涉及到VIEW,大家都知道,Android的UI界面都是由一个一个的View以及View的派生类组成,View作为基类,而常用的布局里面的各种布局就是它派生出来的ViewGroup的子类 ...
- JAVA 多态的一种实现
今天一个同事问我一个问题,就是关于子类,父类之间方法的调用这里的.这里我整理了一个小DEMO. 代码如下: 父类的代码: public abstract class ClassA { public f ...
- http://www.cnblogs.com/
<?php $filename = $_GET['filename']; header("Content-type: application/octet-stream"); ...
- HDU 2845 Beans (DP)
Beans Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Status ...
- 用Shell实现俄罗斯方块代码(Tetris.sh)
本代码来源于网络: 文件下载地址:http://files.cnblogs.com/files/DreamDrive/Tetris.sh #!/bin/bash # Tetris Game # 10. ...
- 51nod 平均数(二分+树状数组)
题目链接: 平均数 基准时间限制:4 秒 空间限制:131072 KB 分值: 80 LYK有一个长度为n的序列a. 他最近在研究平均数. 他甚至想知道所有区间的平均数,但是区间数目实在太多了. 为了 ...
- hdu 3966 树链剖分
思路:树链剖分入门题,我这门入得好苦啊,程序很快写出来了,可是在LCA过程中把update函数里的左右边界位置写反了,一直RE到死. #pragma comment(linker, "/ST ...
- hdu 3308 LCIS 线段树
昨天热身赛的简单版:LCIS.昨天那题用树链剖分,不知道哪里写错了,所以水了水这题看看合并.更新方式是否正确,发现没错啊.看来应该是在树链剖分求lca时写错了... 题目:给出n个数,有两种操作: 1 ...