C#-字符数组

scanf

  • scanf每次读入一个字符串,遇到空格,回车或者tab为止,下次继续读未读完的数据,相比而言,getchar每次读入一个字符
  • 可以用scanf("%7s",string),%后的数字来约束读取的字符串长度

在c中,字符串是以数组的形式存在的,
除了明显的元素,在字符串数组的最后一位是'\0',等同于0,
表示字符串结束符,常用于遍历字符串的结束条件如

        while((*p)!='\0'){//*p表示数组中的元素
                 printf("%c",*p);
                 p++;
             }

字符串的初始化

#include 
int main (void)
{
    char *s="happy";//这种定义数组的方式元素不能修改,
                    //字符串和还可以定义为 char s[]=”happy"
                    //这种定义元素是可以修改的 
     
     char s[]="happy";//这种定义元素是可以修改的 
    s[0] ='n' ;//如果定义为char *s的形式,执行这条语句会崩溃 
    printf("%c",s[0]);
    return 0;    
}

将字符写入数组

#include 
int main (void)
{
     char string[10];
     //scanf("%s",string) ;//用 %s 来给数组初始化,并且scanf会读入连续
                            //的单词,到空格,tab或者回车为止 
     scanf ("%7s",string) ;//在s前加数字指定要读入的位数,避免溢出 
     char *p=string;
     while((*p)!='\0'){
         printf("%c",*p);
         p++;
     }
     return 0;
    }

常见的字符串定义方式

char **a,表示a是一个指针,指向另一个指针,那个指针指向一个元素
char a[][10],表示a是一个数组,数组中每个元素相当与char[10],也就是说每个元素
其实是一个指针

常见字符串函数

字符串函数全部定义在头文件中,

你可能感兴趣的:(C#-字符数组)