以文本方式查看主题 - 计算机科学论坛 (http://bbs.xml.org.cn/index.asp) -- 『 C/C++编程思想 』 (http://bbs.xml.org.cn/list.asp?boardid=61) ---- 荤菜求助:数字之间加空格 (http://bbs.xml.org.cn/dispbbs.asp?boardid=61&rootid=&id=45813) |
-- 作者:荤菜 -- 发布时间:4/22/2007 3:33:00 PM -- 荤菜求助:数字之间加空格 目的是输入一个四位数,输出四个数,每两个数字间空一个空格。如输入1990,应输出‘1 9 9 0’ 程序1: main() {char number[80],insert(); printf("enter an nmber:"); scanf("%s",number); insert(number); printf("the result are %s",number); getch(); } char insert(num) char num[]; {int i; for(i=strlen(num);i>0;i--) {num[2*i]=num[i]; num[i*2-1]=' '; } } 程序2: |
-- 作者:荤菜 -- 发布时间:4/29/2007 11:38:00 PM -- 终于明白啦!为什么只能写成程序1的for(i=strlen(num);i>0;i--)形式,而不能写成程序2的for(i=0;i<=strlen(num);i++)形式。我是按照for语句一步一步实现下去就知道了。我也说不清楚,大概意思是程序1(假如是1990)使用90是第一次使内存地址,然后相继打印0和9,而使用19时是第二次使用(以前用来保存1990的,已经用过了)的内存地址,而程序2第一次打印1后的空格时使用的是未用过的内存地址(存放1990中第二个9),然后机器使用内存地址就荤菜了。 |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
6,031.250ms |