第三次作业

1.笔记

 

 

 

 2.视频代码列表

 

 

 

 3.存在的问题

1)shell到底是个啥?

shell语言的本质“Shell是Linux/Unix的一个外壳,你理解成衣服也行。它负责外界与Linux内核的交互,接收用户或其他应用程序的命令,然后把这些命令转化成内核能理解的语言,传给内核,内核是真正干活的,干完之后再把结果返回用户或应用程序”----池建强著.“MacTalk·人生元编程”。我个人理解就是,它相当于一个中介,用于联系真正工作的内核和用户或应用程序的命令。

2)字符串比较( PTA 1-2  2-3)

1>比较字符串并不在乎两个字符串的长度,而是逐个比较两个字符串中的字符的ASCII值,若相等则继续比较,否则返回两个字符ASCII值的差。

2>两个字符串不会相等,因为它们保存在不同的地址,只有字符串的值才会相等。

3>不能使用关系运算符“==”来比较两个字符串,只能用strcmp() 函数来处理。(strcmp是比较两个字符串的大小,两个字符串相同时返回0,第一个字符串大于第二个字符串时返回一个正值,否则返回负值.)

3)字符数组赋值( PTA 2-1)

例:

char a[10];

1>定义的时候直接用字符串赋值
char a[10]=”hello”;

不能先定义再给它赋值,如char a[10]; a[10]=”hello”;这样是错误的!

2>对数组中字符逐个赋值
char a[10]={‘h’,’e’,’l’,’l’,’o’};
3>利用strcpy
char a[10]; strcpy(a, “hello”);

易错情况:
1>char a[10]; a[10]=”hello”;//一个字符怎么能容纳一个字符串?况且a[10]也是不存在的!
2>char a[10]; a=”hello”;//这种情况容易出现,a虽然是指针,但是它已经指向在堆栈中分配的10个字符空间,现在这个情况a又指向数据区中的hello常量,这里的指针a出现混乱.

 

posted @ 2020-03-15 10:32  zhuyongjian  阅读(126)  评论(1编辑  收藏  举报