C语言的几个小常识

char  s[20]  与  char  *s[20]的区别    
/*     char   s[20]表示在栈上分配了20个字符空间,该空间的首址为s
        char   *s[20]表示一个指针数组,该数组有20个成员.每一个成员都是一个指针     */


*p++ 与 (*p)++的区别

/*     *p++表示   取*p的值后p的地址加1
      (*p)++表示取*p的值后*p指向的值加1
*/

 

gets(str[i]);
clrscr();   功 能: 清除文本模式窗口清屏的意思
puts(a);   功 能: 送一字符串到流中 用 法: int puts(char *string);

int main(int argc, char *argv[])

 

strcpy函数     strcat函数      strcmp函数         strlen()函数


strcpy函数用于实现两个字符串的拷贝。一般形式是: strcpy(字符中1,字符串2)
其中,字符串1必须是字符串变量,而不能是字符串常量。strcpy函数把字符串2的内容完全复制到字符串1中,而不管字符串1中原先存放的是什么。复制后,字符串2保持不变。 

例:    注意,由于字符串是数组类型,所以两个字符串复制不通过赋值运算进行。 

  t=s;   /*错误的字符串复制*/
  strcpy(t,s);   /*正确的字符串复制*/


char s[30];
strcpy(s, "Good News!"); /*给数组赋字符串*/


在C语言中 strchr 和 strstr函数都被包含在<string.h>头文件中,也就是要调用它们时要在程序前面包含<string.h>头文件,也就是写这个语句:#include<string.h>


strchr函数原型:char * strchr(char * str, int ch); 功能就是找出在字符串str中第一次出项字符ch的位置,找到就返回该字符位置的指针(也就是返回该字符在字符串中的地址的位置),找不到就返回空指针(就是 null)。


strstr 函数原型: char * strstr(char * str1,char * str2);功能就是找出在字符串str1中第一次出项字符串str2的位置(也就是说字符串sr1中要包含有字符串str2),找到就返回该字符串位置的指针(也就是返回字符串str2在字符串str1中的地址的位置),找不到就返回空指针(就是 null)。

它们一个是求一个字符在字符串中得位置,另一个是求一个字符串在另一个字符串中的位置。
 strchr(s,'V');

 

字符数组与sting的区别:字符数组最后一个要存'\0'
我们定义字符数组时,通常采用第一种形式,即不显式指定字符串的长度,而由编译器自行确定字符数组的长度。
 char s1[] = "example";
字符数组也可以在定义时初始化:
  char str[16] = {'T', 'h', 'i', 's', ' ', 'i', 's', ' ', ' a', ' ', 's', 't', 'r', 'i', 'n', 'g'};

 

#include<stdio.h>
#include<string.h>
void main()
{
  char string[20]; char str[3][20]; int i;
  for(i=0;i<3;i++)
     gets(str[i]);
  if(strcmp(str[0],str[1])>0)
     strcpy(string,str[0]);
  else
     strcpy(string,str[1]);
  if(strcmp(str[2],string)>0)
     strcpy(string,str[2]);
  printf("\nThe largest string is %s\n",string);
}

 

 

#include <syslib.h>
#include <string.h>
int main()
{  
    char *s1="Hello, Programmers!";
    char *s2="Hello, programmers!";
    int r;  
   clrscr();  
   r=strcmp(s1,s2);
   if(!r)
     printf("s1 and s2 are identical");
   else if(r<0)
     printf("s1 less than s2");
   else
     printf("s1 greater than s2");
   getchar();
   return 0;
}

你可能感兴趣的:(C语言的几个小常识)