学习C (一)

简介:
复制代码
int _tmain(int argc, _TCHAR* argv[])
{

char str[20],str2[20];
cout
<<str<<endl; //由于分配了空间,没有写入数据,在输出地时候读没有写入数据的地址就回出现乱码
for(int i=0;i<20;i++)
{
str[i]
='a';
//if(i==10)
//{
// str[10]='\0';//字符串遇到了\0,就会结束,所以strlen(str)=10
//}
}
str[
19]='\0';//结束字符串,没有这一句就回出现乱码

strcpy(str2,str);
//将一个字符串赋给列一个相等容量的字符串是会出现乱码的,因为字符串的最后一位必须是\0
cout<<str<<" , "<<sizeof(str)<<" , "<<strlen(str)<<" , "<<str2<<endl;

int k = 5;
k
= k + (++k);
cout
<<k<<endl;

int b1;
cin
>>b1;
return 0;
}



输出结果如下:







char str[20];

定义一个长度为20的字符数组,系统会分配20个连续的空间给str;开始的时候每个空间里面都没有值;

str指向数组的第一个空间,str相当于一个常量指针,所以不能写str
=?;



sizeof(str)表式str所占的空间长度,char str[20]表示长度为20,也就是说sizeof(str)的值在定义的时候就已经定了,

就是字符创数组的长度。



strlen(str)表示str中字符的个数,这里有19个,最后一个\0不算。



int k = 5;
k
= k + (++k);

最后k
=12;这个的确不太好理解





理解:可以这样理解i
++++i:
对于一个表达式;如果有
++i;就相当于在表达式之前加入一行代码i=i+1
同理有i
++;相当于在表达式后面加入一行代码i=i+1

int k = 5; k = k + (++k);相当于int k=5;k=k+1;k=k+k;

测试题:递归实现猴子偷桃问题

//猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。
//第二天又将剩下的桃子吃掉一半,又多吃一个。以后每天都吃了前一天剩下的一半零一个。
//到第10天,只剩下一个桃子了。编程试求第一天共摘了多少桃子。
int Eat(int currentCount,int i)
{
if(i==10)
{
return currentCount;
}
else{
currentCount
=(currentCount+1)*2;
i
++;
}
return Eat(currentCount,i);
}

cout
<<Eat(1,10)<<endl;

得出第一天摘了1534个桃子。

最后一招猴子偷桃,竟然偷了1534个。
复制代码
目录
相关文章
|
3月前
VMCS学习
VMCS学习
|
程序员
学习学习再学习
学习学习再学习
122 0
|
前端开发 NoSQL Java
如何学习?今天聊聊关于学习
如何学习?今天聊聊关于学习
172 0
|
算法 Oracle Java
IT学习深入学习必备的技术网站
IT学习深入学习必备的技术网站
91 0
|
存储 缓存 NoSQL
学习总结
学习总结
|
网络协议 Linux 网络安全
MTPuTTy学习
MTPuTTy学习
|
网络协议 前端开发 Windows
学习分享系列(一):记日常学习中遇到的两个问题
学习分享系列(一):记日常学习中遇到的两个问题
学习分享系列(一):记日常学习中遇到的两个问题
|
弹性计算 Java 关系型数据库
学习介绍
解压tomcat压缩包 tar -zxvf apache-tomcat-8.5.70.tar.gz。 解 在idea将下面打包成war,通过命令传到服务器的tomcat里面,传进去后将会自己解压 通过这次的云服务器ECS的使用,我收获颇丰,第一次将项目放到了服务器上进行访问,在过程中,因为我目前使用的springboot,所以在tomcat上面使用较少,遇到大多数问题是部署到云服务器上端口以及连接的错误和Linux指令的不熟悉,我经常通过网络找各种解决办法,配置端口,删除重新解压一下,最后才能使用,将这次的心得体会写下来,以后再次使用阿里云服务器的时候,我看看通过这个文章,可以更快的部署服务器
fbh
|
前端开发
less 学习
koala 前端编辑less神器,下载,不需要安装less直接使用,拖拽式使用,可以直接在本地编译出文件css,否则需要安装less,node,以方便less 使用。
fbh
1090 0
|
Java
关于javagent和javassit的一些学习资料
http://grepcode.com/file/repo1.maven.org/maven2/org.javassist/javassist/3.14.
1322 0