C语言这样编写程序有何好处?

来源:百度知道 编辑:UC知道 时间:2024/07/08 01:15:52
C语言南开100题:
下列程序的功能是:把s字符串中所有的字符左移一个位置,串中的第一个字符移到最后。请编制函数chg(char *s)实现程序要求,最后调用函数readwriteDat( )把结果输出到out61.dat文件中。
例如:s字符串中原有内容为Mn,123xyZ,则调用该函数后,结果为n,123xyZM。
标准答案是:
void chg(char*s)
{
int i, strl;
char ch;
strl = strlen(s);
ch = *s;
for (i=0; i<strl-1; i++)
*(s+i) = *(s+i+1);
*(s+strl-1) = ch;
}
-------------------
这个*号是必须的吗?
初学者编的函数:

void chg(char*s)
{
int i,sl;char tmp;//循环变量,s长度,暂存第一个字符
sl=strlen(s);
tmp=s[0];
for (i=0;i<sl-1;i++)
s[i]=s[i+1];
s[sl-1]=tmp;

}

也能得到正确答案
这么看来,初学者不用
*(s+i) = *(s+i+1);这样的方法也能完成咯?
高手能否解释
*(s+i) = *(s+i+1);
中的*是什么意思?这样编程有什么好处?谢谢

C语言用*号编写程序有何好处?

*(s+i) = *(s+i+1);
这里的*表示取值,即取得地址s+i里放的值

你说的用*号编写程序就是指用指针

指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; 能很方便地使用数组和字符串; 并能象汇编语言一样处理内存地址,从而编出精练而高效的程序。指针极大地丰富了C语言的功能。 学习指针是学习C语言中最重要的一环, 能否正确理解和使用指针是我们是否掌握C语言的一个标志。同时, 指针也是C语言中最为困难的一部分,在学习中除了要正确理解基本念,还必须要多编程,上机调试。只要作到这些,指针也是不难掌握的。

没什么好处,就是所谓的装AC中间那个,非要用指针显得程序员的水平有多高似的.从代码的规范性和可读性来说,请用数组形式.

如果真实代码这么写了,那么多半是装AC中间那个
不过出题嘛,这么写没啥好处,目的只是为了让你看不懂
(该死的那啥啥教育

一样的
数组名本来就是一个指针
程序本来就有很多种方式

看书看书,领略指针的用处…

人家这是基本语法练习题吧?