字符/字符串输入
1、scanf(“%c”,&a);//输入一个字符,a代表的是一个字符
2、scanf(“%s”,&a);//输入一个字符串,a代表的是一个字符数组的名字,不接受空格,遇到空格或回车就结束,空格不会被读取,回车会被读取,最后会加上空字符’\0’
3、a=getchar();//输入一个字符,a代表的是一个字符
4、gets(a);//输入一个字符串,a代表的是字符串的名字,可以读取空格,遇到回车结束,回车不会被读取,被转换为空字符’\0’
5、fgets(a,n,stdin);//读取规定长度n的字符串,可以包含空格,最后一位为空字符’\0’,若字符串长度大于n-1,就读到n-1位字符,在最后一位补充’\0’结束; 若字符串长度小于n-1,就读取所有字符,在最后一位补充’\0’结束; 注意回车在空字符’\0’前
注意点:由于边界问题,设字符大小时比规定的多一些裕度,通常比题目要求的+5
字符串比较
strcmp函数:比较两个字符串的大小,返回比较的结果
一般形式:i=strcmp(字符串,字符串);
①字符串1小于字符串2,strcmp函数返回一个负值(i<0);
②字符串1等于字符串2,strcmp函数返回零(i=0);
③字符串1大于字符串2,strcmp函数返回一个正值(i>0);
字符串的比较:比较字符串中各对字符的ASCII码。
首先比较两个串的第一个字符,若不相等,则停止比较并得出大于或小于的结果;如果相等就接着比较第二个字符以此类推。
因此无论两个字符串是什么样,strcmp函数最多比较到其中一个字符串遇到结束符’/0’为止,就能得出结果。
适用:时间比较(HH:MM:SS)
字符串赋值
strcpy函数:用于实现两个字符串的拷贝
一般形式:strcpy(字符串1,字符串2)
把字符串2的内容完全复制到字符串1中,字符串2保持不变。