c语言:字符数组相关

it2023-01-19  57

一.字符数组如何输入、输出字符串; 1.`char zifu[]=“wasd”;printf("%s",zifu);(只能单个字符串)(输出单个字符串时只用标明字符数组名字即可,若有多个才加下标) 2.使用循环,单个字符依次输出(较繁琐); 3.char zifu[][]={“sda”,“dsa”};(输出多个字符串) printf("%s",zifu[0]);(此时“sda”为字符串常量,相当于给zifu赋字符串常量初值) 4.使用gets,puts函数; gets(字符数组):从键盘输入字符串,直到遇到回车符为止。(可接受中间带有回车的字符串)。 如char sk[213];gets(sk); puts(字符数组):将字符串输出到终端,如:puts(sk); //gets,puts只能输入或输出一个字符串; 用scanf读字符串时,字符串中不能带有空格,因为输入的字符串遇到空格系统将会认为输入结束。 可以使用scanf(“%12s”,&xxx);避免将空格当做结束标志。 二.关于字符数组的一些问题。 注:1.字符数组只有在定义时才可以将字符串一次性赋值,定义完只能一个字符一个字符赋值了。 2.字符串长度. string.h头文件中的函数:strlen(name)求字符串或字符串数组的长度。name为字符串或字符数组的名字。 若定义一个变量再输出, int len=string(name); 输出时为printf("%d",len); 若直接输出则为printf("%lu",strlen(name)); 不知为啥。 3. 就目前学到的知识而言,int、char、float 等类型的变量用于 scanf() 时都要在前面添加&,而数组或者字符串用于 scanf() 时不用添加&,它们本身就会转换为地址。读者一定要谨记这一点。

最新回复(0)