懂C语言的帮忙看下,谢谢

[复制链接]
查看11 | 回复3 | 2011-2-15 17:47:24 | 显示全部楼层 |阅读模式
#include #include #define N 80void fun(char *w,int m){ char a[N]; int i; for(i=0;i<m;i++)//在这里for语句只对a=w作用。。并不影响其他语句。a=w; //将需要转换的前m位逐个赋值给a数组 while(w)//判断是否遇到'\0'字符串末尾 {w[i-m]=w;//这里。。经过for循环之后i的值等于m的值,所以i-m是0,把需要转换的字符覆盖前面几位的值。 i++; } i--;//将i和m都减1,因为循环最后判断之前还加了1...
回复

使用道具 举报

千问 | 2011-2-15 17:47:24 | 显示全部楼层
A、D、D、C、A、B、B、B、BD、BLS第十题错了..再看看书吧...
回复

使用道具 举报

千问 | 2011-2-15 17:47:24 | 显示全部楼层
要解读这个问题,首先要明白此函数的意思是什么,作用是什么,分析如下:程序运行时如果输入3,即m=3,则输出“DEFGHIJKABC“,由此可同函数作用是把一个字符串前移m位,移出的m位字符串补到后面去,则可以对此函数进行分析了:void fun(char *w,int m){ char a[N]; int i; for(i=0;i<m...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行