c语言 菜鸟提问 strcmp和数组指针相关

作者&投稿:仇由琬 (若有异议请与网页底部的电邮联系)
c语言指针与strcmp的问题~

th貌似是一个结构,而不是结构的指针啊....
尝试用.操作而非->操作试试
th.compar(temp -> s,motn)

或者,若thach_vide函数返回的是thach的指针的话,thach* th=*&*^*^&*^*

其实你这里主要问题是不能接收到两个输入的字符串。
你这里的接受规则是输入两个字符串并用 , 号分隔,比如:abc,abc
但是这里就有一个问题了!计算机怎么知道你输入的,号是你输入的第一个字符串的一个字符呢?还是你两个字符串的分隔?
所以当你输入abc,abc的时候计算识别你的第一个字符串是abc,abc
第二个字符串为

所以你这里得到的始终是1
至于解决的办法:
让计算机识别你的分隔符号
那方法就很多了,比如 scanf("%s%s",a,b);输入的时候用空白符(空格,tab,回车键)相间隔

直接用gets(input[i]);之前你没有给input[i]指针一个明确的指向,程序有可能会崩溃。所以,先用input[i] = buffer;给它一个指向,这就不会有问题了。
另外:你的buffer字符串只含有一个元素,你输入的字符串只能是包含一个元素,那就不是原题的要求了。你将buffer的空间加大,例如可以改为:
buffer[MAX_LEN]={0};据我猜测,原题就是这样写的(因为MAX_LEN没出现过)是你粘贴错了。
以上是建立在前面部分程序分析后得到的,且不说这个程序功能能否实现。

这个程序里,指针数组input每个指针都指向buffer字符串,最后输出结果什么都没有。


新浦区19163849483: C语言中strcmp是什么意思? -
始柔丽扶: C/C++函数,比较两个字符串.设这两个字符串为str1,str2,若str1==str2,则返回零;若str1>str2,则返回正数;若str1

新浦区19163849483: c语言中strcmp的用法 -
始柔丽扶: strcmp是比较两个字符串的大小,两个字符串相同时返回0,第一个字符串大于第二个字符串时返回一个正值,否则返回负值. 比较两个字符串的算法是:逐个比较两个串中对应的字符,字符大小按照ASCII码值确定,从左向右比较,如果遇到...

新浦区19163849483: c语言中的strcmp函数 -
始柔丽扶: 函数原型:extern int strcmp(const char *s1,const char *s2); 函数功能:以ascii码值比较两个字符串的大小,当s1<s2时,返回为负数,当s1=s2时,返回值= 0,当s1>s2时,返回正数.头文件:#include <string.h> 参数说明:两个比较字符串的首地址指针.注意事项:strcmp(const char *s1,const char * s2)这里面只能比较字符串,即可用于比较两个字符串常量,或比较数组和字符串常量,不能比较数字等其他形式的参数.

新浦区19163849483: 在C语言中,strcmp()是什么函数? -
始柔丽扶: 头文件:#include <string.h> strcmp() 用来比较字符串(区分大小写),其原型为:int strcmp(const char *s1, const char *s2); 【参数】s1, s2 为需要比较的两个字符串.字符串大小的比较是以ASCII 码表上的顺序来决定,此顺序亦为字符的值...

新浦区19163849483: strcmp在c语言中是什么意思 -
始柔丽扶: 字符串比较函数,两个字符串,从第一个字符开始比,如果相同,继续向下比,如果不同,看这两个字符的ASCII码,如果第一个字符串的比较大,则返回1,否则返回-1;

新浦区19163849483: C语言的strcmp是什么意思? -
始柔丽扶: strcmp(str1,str2)函数就是比较参数中两个字符串str1 和str2的大小(大小写敏感,即"A" != "a"),如果完全相等,返回0,如果str1 < str2(按照字母顺序比较),返回...

新浦区19163849483: C语言中,strcmp( )是什么函数? -
始柔丽扶: 函数名: strcmp 功 能: 串比较 用 法: int strcmp(char *str1, char *str2); 程序例: #include#includeint main(void) { char *buf1 = "aaa", *buf2 = "bbb", *buf3 = "ccc"; int ptr; ptr = strcmp(buf2, buf1); if (ptr > 0) printf("buffer 2 is greater ...

新浦区19163849483: 在C语言中,strcmp()是什么函数?
始柔丽扶: 比较字符串的函数,是很基本的函数 原型:extern int strcmp(char *s1,char * s2); 用法:#include <string.h> 功能:比较字符串s1和s2. 说明:当s1<s2时,返回值<0当s1=s2时,返回值=0当s1>s2时,返回值>0 举例: // strcmp.c #...

新浦区19163849483: 请教大家一下c语言中的strcmp函数的使用方法 -
始柔丽扶: int strcmp (p1, p2)const char *p1;const char *p2; { register const unsigned char *s1 = (const unsigned char *) p1; register const unsigned char *s2 = (const unsigned char *) p2; unsigned reg_char c1, c2;do{c1 = (unsigned char) *s1++;c2 = (...

新浦区19163849483: C语言的strcmp用函数表示 -
始柔丽扶: 1. 首先记住一件事,C语言中,数值0表示假,非0表示真(即!0=true)2. *(unsigned char *)src,表示取src字符串中第1个字符 3. *(unsigned char *)dst,表示取dst字符串中第1个字符 4. ret=*(unsigned char *)src - *(unsigned char *)dst) ,表示2,3...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网