| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 312 人关注过本帖
标题:字符串的修改
只看楼主 加入收藏
赤云
Rank: 2
等 级:论坛游民
帖 子:82
专家分:35
注 册:2014-12-29
结帖率:64.71%
收藏
 问题点数:0 回复次数:1 
字符串的修改
#include <stdio.h>
 void fun(char*p);
 int main(){
     char *p="ADFFDHJYET";
     fun(p);
     return 0;
 }
 void fun(char*p){
     char b[45];
     int n=0,k=0;
     for(;*(b+n)=*p;){
         n++;
         if(n%3==0){b[n]=' ';
                    k++;
                    printf("%c%d",b[n],k);}
         p++;
         if(*p=='\0') break;
     }
     printf("\nb[3]=%c",b[3]);
 }
运行结果是:
 空格1空格2空格3
 b[3]=F
 为什么会这样?明明把字符修改了的,为什么结果还是F?
搜索更多相关主题的帖子: include return 字符串 
2015-02-15 11:21
longwu9t
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:732
专家分:2468
注 册:2014-10-9
收藏
得分:0 
程序代码:
#include <stdio.h>

void fun(char str[]);

int main(void) {
    char str[] = "ADFFDHJYET";
    fun(str);
    puts(str);
    return 0;
}

void fun(char str[]) {
    char *p = str;
    int n = 0;
    for(; *p != '\0'; ++p)
        if(++n % 4 == 0) *p = ' ';
}

Only the Code Tells the Truth             K.I.S.S
2015-02-15 12:33
快速回复:字符串的修改
数据加载中...
 
   



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

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