char* name[10]与char* name的区别

所以若k不超过数组name的元素索引范圍name[k]就是一个char*类指针,而*name[k]是name[k]所指向char*类变量地址存放的内容也就是一个字符或-127到128之间的整数。

if(strcmp(name[k],name[j])>0)
这个式子是教材里的例题比较两个字符串夶小,我电脑上试过是正确的如果像你说的,这不成了比较两个地址的大小了吗小白求指教
 strcmp函数原型如下:
int strcmp(const char* *s1,const char* *s2)
它比较的是两个串是否相等:
若s1=s2,则返回0;
若s1>s2则返回1;
若s1<s2,则返回-1;
需要两个字符串的地址作为参数通过地址比较两个字符串的内容而不是地址;
若s1=s2,则返回0;
若s1>s2则返回1;
若s1<s2,则返回-1;
这里是不是少写了*号
加*号就是字符不加就是字符串
好吧,既然是库函数就不纠结了,3q!

你对这个回答的評价是

爱电脑、爱数学、爱音乐; 熟悉VB、C/C++、JAVA; EXCEL与VBA有所研究…… 数学,一些会一些被忘却……


if(strcmp(name[k],name[j])>0)
这个式子是教材里的例题,比较两个字符串大小我电脑上试过是正确的,如果像你说的这不成了比较两个地址的大小了吗?小白求指教

你对这个回答的评价是

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

我注意到在你的自定义类stud中,變量name是一个字符串数组那么,char* *getname()函数也是需要返回名字即name变量中保存的所有内容,此时我们需要返回的是一个字符串的首地址而不是┅个字符。举例来说name=“zhang san”,那么我们需要返回的是“zhang san”而不是一个字符“z”。

事实上返回的并不是字符串,而是一个指针类型

好好仔细看c语言教科书,关于char**的来由.原因.

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

我要回帖

更多关于 char name 的文章

 

随机推荐