重拾C,一天一点点_6
break与continue
continue只能用于循环语句
goto
最常见的用法是终止程序在某些深度嵌套的结构中的处理过程,例如一次跳出两层或多层循环。break只能从最内层循环退出到上一级的循环。
//简单测试
#include <stdio.h>
main(){
int i = ;
if(i > ){
//break; //error
//continue; //error
goto test;
}else{
;
}
printf("hello\n");
test: {
printf("world\n"); //仅输出world
}
return ;
}
C程序可以保存在一个或多个源文件中,各个文件可以单独编译,并可以与库中已编译过的函数一起加载。
函数定义:
返回值 函数名(参数声明){
声明和语句
}
dumy(){} //该函数不执行任何操作也不返回任何值,如函数定义中省略了返回值类型,则默认为int类型。但在C99中定义函数必须有返回值。
//某字符在某字符串中的位置
#include <stdio.h>
//#include <string.h>
int strrindex(char s[],char c);
int strlen(char s[]); main(){
printf("%d\n", strrindex("abcdefg",'c')); //
printf("%d\n", strrindex("abcdefg",'o')); //-1
printf("%d\n", strlen("abcdefg ")); //10,未去尾部空格 return ;
} /*****返回c在s中最后出现的位置****/
int strrindex(char s[],char c){
int n,i,j = ;
for(i=strlen(s)-,j=; i>=; i--,j++){
if(s[i] == c){
return j;
}
}
return -;
} int strlen(char s[]){
int i = ;
while(s[i] != '\0'){
i++;
}
return i;
}
//字符串c在字符串s中首次出现的位置,未找到返回-1
#include <stdio.h>
int strindex(char s[],char t[]); main(){
printf("%d\n", strindex("abcdefgabc","abc")); //
printf("%d\n", strindex("abcdefgabc","g")); //
printf("%d\n", strindex("abcdefg","xyz")); //-1
return ;
} /*****返回c在s中首次出现的位置****/
int strindex(char s[],char t[]){
int i,j,k;
for(i=; s[i]!='\0'; i++){
for(j=i,k=; t[k]!='\0'&&s[j]==t[k]; k++,j++)
;
if(k > && t[k] == '\0'){
return i;
}
}
return -;
}
自己在算法面前就像一个傻子,脑袋怎么就不会转。。。
今晚有点顶不住了,明晚继续,坚持!
补充一道刚看到的题:
在老北京的一个胡同的大杂院里,住着4户人家,巧合的是每家都有一对双胞胎女孩。这四对双胞胎中,姐姐分别是ABCD,妹妹分别是abcd。一天,一对外国游人夫妇来到这个大杂院里,看到她们8个,忍不住问:“你们谁和谁是一家的啊?”B说:“C的妹妹是d。”C说:“D的妹妹不是c。”A说:“B的妹妹不是a。”D说:“他们三个人中只有d的姐姐说的是事实。”如果D的话是真话,你能猜出谁和谁是双胞胎吗?
D:true;
char s[] = "sister";
if(B:true){
(B's == d) && (C's == d)=>B:false;
C's != d;
} if(C:true){
(C's == d) && (C's != d)=>C:false;
D's = c;
}
then (B:false) && (c:false)=>A:true=>{
A's = d;
(B's !=a) && (D's = c) && (A's = d)=>B's=b=>C's=a;
}
so
A's = d;
B's=b;
C's=a;
D's = c;
原文博客地址:http://www.cnblogs.com/lltong/
重拾C,一天一点点_6的更多相关文章
- 重拾C,一天一点点_2
类型转换一般来说,如果二元运算符的两个操作数具有不同的类型,较低的类型提升为较高类型,结果为较高类型.表达式由float类型的操作数不会自动转换为double类型.使用float类型主要是为了在使用较 ...
- 重拾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是个不错的选择,毕竟不花钱! 还可以用来做本地测试,学习使 ...
随机推荐
- 微信js获得签名signature
服务器端: 1 获取微信js accessToken 备注:access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token. 开发者需要进行妥善保存.access_ ...
- [Java] JSTL格式化时间计算时差
引入JSLT标签: <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> ...
- 【Android Studio使用教程3】Android Studio的一些设置 体验更好了
Android Studio 简单设置 界面设置 默认的 Android Studio 为灰色界面,可以选择使用炫酷的黑色界面. Settings --> Appearance --> T ...
- c++ 的几种强制转换的讨论
http://www.cnblogs.com/jerry19880126/archive/2012/08/14/2638192.html static_cast : 同 c 的强制转换类似: rei ...
- iOS - UI - UIActivityIndicatorView
1.UIActivityIndicatorView HUD 指示器 UIActivityIndicatorView * indicatorView = [[UIActivityIndicatorVie ...
- 单例模式——Singleton
模式分类: 从目的来看: 1.创建型(Creational)模式:负责对象创建. 2.结构型(Structural)模式:处理类于对象间的组合. 3.行为型(Behavioral)模式:类与对象交互中 ...
- [UML]UML之开篇
前言 大学时,学习软件工程时,学到了UML,由于当时接触项目太少,认识不清,再加上毕业后一直忙于coding,很少有时间去真正的认识和学习UML. 现在感觉有必要去回头看看这些东西啦. 什么是UML ...
- linux初学 :linux 常用命令(二)
压缩和解压命令 gzip/guzip zip/unzip tar gzip和gunzip一般可用参数是-r,例: gzip test.txt 压缩文件 gzip -r test 压缩所有tes ...
- eclipse bookmark的使用
为什么要使用bookmark 写代码一般不是从上往下写,经常在几个模块之间变换的写,你可能使用搜索功能ctrl+f,ctrl+c,这样查找位置将会变的非常痛苦. 因为重要的位置一般就那么几个,如定义部 ...
- 【转】同一台机器部署两个jboss方法
更改jboss的端口信息 1) 更改webservic的端口信息D:\jboss-new\server\default\conf\jboss-service.xml文件 <mbean code= ...