黑马程序员技术交流社区

标题: 怎样给字符串数组赋值 [打印本页]

作者: 等风继续吹    时间: 2015-5-21 18:16
标题: 怎样给字符串数组赋值
给字符串数组赋值的适合,会用空格键或者逗号或者TAB 键隔开,但是这些键都被scanf接收了, 怎么样解决这个问题,
作者: 尹世伟    时间: 2015-5-21 21:33
  1. /*
  2. 1.功能:输入一个8位字符串然后再输出到屏幕上;
  3. 2:如果输入的不是8位则提醒输入8位字符串。
  4. */
  5. #include<stdio.h>
  6. int main()
  7. {
  8.     char a[9];//定义一个9位字符型数组最后一个是放'\0'
  9.    
  10.     int count=0;//定义count记录输入字符串的字符个数
  11.     do
  12.     {
  13.         printf("请输入一个8位字符串:\n");//提示用户输入
  14.         scanf("%s",a);                 //接收用户输入
  15.         while(a[count]!='\0')          //判断数组元素个数
  16.         {
  17.             count++;
  18.         }
  19.     }
  20.     while(count!=8);
  21.     printf("您输入的是:%s\n",a);        //输出字符串
  22.     return 0;
  23. }
复制代码

作者: mony    时间: 2015-5-21 21:37
空格什么的本来也是字符,所以你可以一个字符串一个字符串的赋值。
作者: 等风继续吹    时间: 2015-5-21 22:30
尹世伟 发表于 2015-5-21 21:33

这是给字符数组输入,我说的是给字符串数组赋值.字符串数组的话  比如说 abc  和 edf   这2个 你怎么输出
作者: 等风继续吹    时间: 2015-5-21 22:31
mony 发表于 2015-5-21 21:37
空格什么的本来也是字符,所以你可以一个字符串一个字符串的赋值。

一个一个的太麻烦了,如果有要求 输入多个字符串呢
作者: mony    时间: 2015-5-22 20:04
等风继续吹 发表于 2015-5-21 22:31
一个一个的太麻烦了,如果有要求 输入多个字符串呢

用循环啊,效果和你想要的一样啊
作者: 尹世伟    时间: 2015-5-22 21:26
等风继续吹 发表于 2015-5-21 22:30
这是给字符数组输入,我说的是给字符串数组赋值.字符串数组的话  比如说 abc  和 edf   这2个 你怎么输出 ...

你可以连续使用scanf()用来接收多余的间隔符号  这个我是初学也不太懂
作者: 行知灬哒    时间: 2015-5-22 21:41
支持一下  呵呵
作者: chensc    时间: 2015-5-23 09:38
学习学习!
作者: XiaoBaoMi    时间: 2015-5-23 13:31
while (c = getchar() != '\n')
....
...
..
.




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2