| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 661 人关注过本帖
标题:字符数组中是不是将引号‘替换掉之后,结束符号就没有意义了?
只看楼主 加入收藏
maojinlong
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2015-1-23
收藏
 问题点数:0 回复次数:1 
字符数组中是不是将引号‘替换掉之后,结束符号就没有意义了?
#include<stdio.h>
#include<string.h>
#include<ctype.h>


int main(void)
{
    char text[20]="";
   
    char ala[20];
    int shu=0;
    const char space=' ';
    const char quote='\'';
   
   
    printf("\nEnter a string,include space,comma:\n");
    fgets(text,50,stdin);
   
    printf("You entered is:%s  %d\n",text,strlen(text));


    for(int i=0;i<strlen(text);i++)
    {
        if(text[i]==quote||isalnum(text[i]))
            continue;
        text[i]=space;
    }
    printf("You entered is:%s  %d\n",text,strlen(text));
   text[strlen(text)]='\0';
   int index=0;

   while(text[index]!='\0')
    {
   
        if(text[index]==space)
            ++index;   
        shu=0;
        while(text[index]==quote||isalnum(text[index]))
        {
            
            ala[shu++]=text[index++];
        }
        ala[shu]='\0';
        printf("%s\n",ala);
   
    }
   
    return 0;
}
这是我的代码,结果运行正常。但是我输入的内容是不带引号的,而if(text[i]==quote||isalnum(text[i]))和while(text[index]==quote||isalnum(text[index]))这两句如果不带quote的话,前者不带是输出空格,后者不带的话无限循环。
我想的是不是假如我输入nihao,那么text[]={'n','i','h','a','o','\n','\0'},替换时,是不是把这里边的引号也算上了,要不然怎么会出现上述问题呢,求解答,没有不思考,昨天晚上都在想,也上网搜了,可是没找到答案。万分感谢!
搜索更多相关主题的帖子: continue include 
2015-01-23 12:30
maojinlong
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2015-1-23
收藏
得分:0 
我自己明白了,因为==优先级高于||,所以我自己多想了,sorry
2015-01-23 12:42
快速回复:字符数组中是不是将引号‘替换掉之后,结束符号就没有意义了?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037421 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved