在C语言中,怎样才能从一个字符串中一个一个地获取字母,

问题补充: 例如输入money,怎样获取m o n e y 分别给到5个变量?如果输入的字符串长n,怎样提取到n个变量中

  在C语言中字符串有两种表示方法一种是字符指针 ,一种是字符数组。

  const char *str = "helllo world"; //字符指针指向字符串

  char str[] = "hello world"; //字符数组保存字符串。


  字符指针,可以看作字符数组,两者都可以用维数来一个一个的操作字符。示例如下:

  #include <stdio.h>
  #include <string.h>
  
  int main( )
  {
  const char *str = "hello world";
  int limit = strlen(str);
  for (int inx=0; inx!=limit; ++inx) printf("%c\t", str[inx]);
  printf("\n");
  return 0;
  }
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-21

EOF 表示输入完毕, 按ctrl + Z就行   ,  字符数组a中 就是你所存入的数据

第2个回答  2013-03-21
用以下函数:
char *strncpy(char *strDestination, const char *strSource, size_t count);
将源串strSource开始的count个字符复制到目标串strDestination所指定的位置. 如果count值小于或等于strSource串的长度, 不会自动添加NULL结束符目标串中, 而count大于strSource串的长度时, 则将strSource用NULL结束符填充补齐count个字符, 复制到目标串中. 不能处理源串与目标串重叠的情况.
参数count 取值:1
第3个回答  推荐于2017-09-29
主要就是怎么把字符串分成一个一个的字母,以及测量字符串长度。
单个字母赋值给变量,这个应该会吧。

#include<stdio.h>
main()
{
int i=0; //这里i代表检测字符串长度
char *j;
char c[30];
gets(c);
printf("%s\n",c);
j=c;
do
{printf("%c ",*j); //这里可以自己写输入到的地点,需要自己定义。
j++;
i++;
}while((*j)!=NULL);
printf("\n%d\n",i);
}本回答被提问者和网友采纳
第4个回答  2013-03-21
定义一个字符数组,然后用getchar()获取字符到字符数组里面
相似回答