请教char类型数组循环赋值?

妖妖成仙 2017-07-25 11:34:23
各位大牛,请教一下,我想要对一个字符数组进行循环赋值,char类型,输入格式l k j h g f,对其循环赋值,请问如何可以忽视其中的空格???
...全文
626 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
glengan 2017-07-27
  • 打赏
  • 举报
回复

#include <stdio.h>

int main()
{
char buffer[512] = { 0 }; //控制台的输入缓冲区
char *dest[512] = { 0 }; //分割出来的字符串存放的位置

char seps[] = " ,\t\n"; //分割符数组
char *token = NULL; //看msdn

int i = 0;

scanf("%[^\n]", buffer); //看msdn 谁说输入看到空格就切断了??

//printf("输入的字符串为:%s\n", buffer); //你可以测试一下看看,是不是空格后面的不接受了

//以下是从mdsn strtok 函数的实例拷贝过来的,
//只是加了一个分割出来的字符串存入desk指针数组中,
//稍加改进还可以循环scanf

token = (char*)strtok(buffer, seps);

while (NULL != token)
{
dest[i] = token;
printf(" %s\n", dest[i]);
i++;
token = strtok(NULL, seps);
}
system("pause");

return 0;
}




花了一点时间调试了一下 ,应该可以满足你的要求.
幻夢之葉 2017-07-26
  • 打赏
  • 举报
回复
引用 2 楼 jianwen0529 的回复:
试试如下代码(手打,未经过测试):

char ch;
int index = 0;
while(scanf("%c, ch))
    if(ch != ' ' && ch != '\n' && ch != '\0')
         str[index++] = ch;
修正 while(scanf("%c, &ch))
幻夢之葉 2017-07-26
  • 打赏
  • 举报
回复
试试如下代码(手打,未经过测试):

char ch;
int index = 0;
while(scanf("%c, ch))
    if(ch != ' ' && ch != '\n' && ch != '\0')
         str[index++] = ch;
glengan 2017-07-26
  • 打赏
  • 举报
回复
如果你是控制台输入的话,可以试一下scanf函数
自信男孩 2017-07-26
  • 打赏
  • 举报
回复
引用 3 楼 jianwen0529 的回复:
[quote=引用 2 楼 jianwen0529 的回复:] 试试如下代码(手打,未经过测试):

char ch;
int index = 0;
while(scanf("%c, ch))
    if(ch != ' ' && ch != '\n' && ch != '\0')
         str[index++] = ch;
修正 while(scanf("%c, &ch))[/quote] 还需再修正一下才能去掉语法错误。 楼主,以下是个人的方法:
#include <stdio.h>
#include <ctype.h>

int main(void)
{
    int ch, i = 0;
    char str[32];

    while ((ch = getchar()) != '\n')
        if (isalpha(ch))
            str[i++] = ch;

    str[i] = 0;

    puts(str);

    return 0;
}
战在春秋 2017-07-26
  • 打赏
  • 举报
回复
引用
对一个字符数组进行循环赋值


int main()
{
char str[6] = { 0 }; //定义字符数组大小为6
char ch;
int i = 0;
while (true)
{
ch = getchar();
if (ch!=' ')
{
str[i] = ch;
i = i + 1;
}
if (i>5 || ch=='\n') //保证只接收6个字符
{
break;
}
}
for (int j = 0; j < 6;j++) //测试结果
{
printf("%c\n",str[j]);
}
return 0;
}


69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧