学习C (一)-阿里云开发者社区

开发者社区> 长征2号> 正文

学习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个。
复制代码

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
9496 0
怎么设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程
8410 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13186 0
学习c#.net
为了和大众接轨,不至于死在vb.net的孤岛上,今天开始学习c#.net了。有点郁闷,也有点兴奋!
380 0
C/C++学习之路(一)
C/C++学习之路(一)          今天我想要写的是关于调用构造函数的问题。          首先,我们先来弄懂关于构造函数的定义。在百度百科上,是这么定义的:构造函数 ,是一种特殊的方法。
751 0
C++学习
C++的学习之路比较漫长,自己感觉学习C++应该首先是找一本比较基础的教程书先看一遍多做笔记,然后在多看几本比较基础的C++资料,在有一定的基础的情况下再去看一些晋级的书籍,C++的语法及结构思想学习完之后再涉猎一些关于UML统一建模语言、OOP...
700 0
+关注
1703
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载