1、College of Computer Science, SCU 1Chapter 9:2维数组和结构体2D array w printf(“old string:%sn”, str);w myTrimRight(str);w printf(“new string:%sn”, str); 用 : 这样可以看到空格是不是去掉了 然后你可以重新定义 str,立即测试第二组College of Computer Science, SCU 3程序输入v 键盘输入 键盘输入的好处是比较自由,但是调试麻烦,需要在VC和小黑框界面中间切换 尤其是输入数据比较多的时候,很麻烦v 所以,在调试程序时,使用何种输
2、入,需要权衡College of Computer Science, SCU 4程序输出v 我们目前只学习了屏幕输出,即打印某个变量v 以后我们还可以输出到文件中,方便查看v 程序输出在调试环境下的 作用 将各个阶段的中间值打印出来 可以 观察到变量的变化情况ch = getchar(); printf(“%02x n“, ch);while(ch!=n)*p+ = ch;ch = getchar(); printf(“%02x n“, ch);College of Computer Science, SCU 5输入和输出总结v 到目前为止, 一个程序的输入输出 方式包括: 输入w 键盘输入w
3、 赋初值 输出w printf/puts/putch 这些,与函数的参数的输入输出,毫无关系v 一个程序的输入 /输出,是否需要从键盘输入,还是从调用处输入,取决于函数本身的功能College of Computer Science, SCU 6函数的输入和输出v 通过函数的声明可以看到函数的输入输出v 函数声明void strTrim(char* pIn);v 解读 函数名: strTrim 参数类型: char*w 在函数声明中,参数类型后的参数名,可以不写w 指针类型的参数,允许在函数中通过指针访问到主调用函数的参数,并对其进行修改,因此具有很强的副作用 返回值: voidv 调用方法:
4、strTrim(mystr); /mystr不要再前面加 *College of Computer Science, SCU 7v 函数声明char* strCpy(char *pD, char *pS); 函数名: strCpy 参数类型: char *, char *w 两个指针参数 返回值: char*v 调用:strCpy(mystr1, mystr2); mystr不要再前面加 *College of Computer Science, SCU 8变量v 赋值: 基本数据类型可以用 “=”赋值,如 , int a; int b; int c; double d;b = a; c =
5、d; /损失精度, 直接取整,而不是四舍五入d = a; /整数可以转换为浮点数 复合的数据类型,则不能用 “=”赋值,如int a10; int b10;a = b; /?不正确for (int i=0; i比较int a; int b;if (ab) v 复合数据类型则必须逐个比较char a20; char b20if (a=b) /这里编译器不会报错,但是比较的是 a,b的内存地址,与设想不一致strcmp(des, src);/v 字符数组的比较char s120; char s230;if (s1s2) /比较的也是内存地址strcmp(s1,s2);/字符串逐个比较,出现不相同字符时立即返回