马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
可用我们熟悉的scanf函数加上%s格式说明符来读取字符串。例如: char address[10]; scanf("%s",address); scanf函数的问题是,一旦遇到空白符(包括空格、制表符、回车符、样式缩进和换行符),就将终止输入。因此,如果在中断输入如下的文本行: NEW YORK 则只有字符串“NEW”读入address之中,由于NEW后面有空格,使字符串的读取终止。 Scanf函数自动终止字符串,因此字符串数组应足够大,以便能保存所输入的字符串再加上一个空字符。注意,与前面介绍的scanf调用不同的是,在字符数组中,变量名的前面不需要加&符号。 如果要读取整行的字符“NEWYORK”,则要使用两个大小合适的字符数组。也就是说,语句: char adr1[5],adr2[5]; scanf("%s %s",adr1,adr2); 可以把文本 NEW YORK 中的字符串“NEW”赋给adr1,而“YORK”赋给了adr2. 示例 请编写一个程序,使用scanf函数从终端读取一系列字符串。 程序读取4个字符串,并把它们显示在屏幕上。注意,“Oxford Road”被看做是两个字符串,而“Oxford-Road”则看做一个字符串。 main() { charword1[40],word2[40],word3[40],word4[40]; printf("Entertext:\n"); scanf("%s%s",word1,word2); scanf("%s",word3); scanf("%s",word4); printf("\n"); printf("word1=%s\nword2=%s\n",word1,word2); printf("word3=%s\nword4=%s\n",word3,word4); } 也可以在scanf语句中使用%ws格式说明符来制定字段的宽度,用于从输入字符串中读取指定数量的字符。例如: scanf(“%ws”,man); 这里可能发生以下两种情况: (1)
宽度w等于和大于键所键入的字符数。整个字符串都保存在字符串变量之中。 (2)
宽度w小于所键入的字符数。多余的字符将被截除,不被读取。 请看下面语句: char name[10]; scanf("%5s",name); 输入字符串RAM后,将按如下形式存储; 输入字符串KRISH则按如下形式存储: 凌阳教育,全国唯一一家原厂式嵌入式培训机构,专业从事嵌入式人才培训13年,最近新开课程信息安全工程师培训,想了解更多嵌入式资料下载或者是凌阳教育的动态,请访问凌阳教育官网www.sunplusedu.com。
|