| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1086 人关注过本帖
标题:写了个,关于指针的问题,求解决
只看楼主 加入收藏
JERRY480
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2022-6-13
结帖率:0
收藏
已结贴  问题点数:20 回复次数:7 
写了个,关于指针的问题,求解决
程序就是为了实现计算一个字符串白空个数和小写字符个数如下,运行完了结果是这样,和预想的不一致,求高手帮忙看看是哪有问题,自己刚学指针,指针还不太了解
Process returned -1073741819 (0xC0000005)   execution time : 1.911 s
Press any key to continue.

#include <stdio.h>
int get(a,b)
int *a,*b;
{char c;
  *a=0;
  *b=0;
  int i=0;
  char s[21];
 s[21]="wo shi zhong guo ren";
for(i=0;s[i]!='\0';i++)
switch(s[i])
{case ' ':
case '\t':(*a)++;break;
case '\n':return(1);
default: if(s[i]>='a'&&s[i]<='z')(*b)++;
}
return (0);
}

int main()
{int *ws,*lc;
if(get(ws,lc))
   {printf("有%d个白空\n",*ws);
    printf("有%d小写字符\n",*lc);
   }
  else printf("输入不正确\n") ;

}
搜索更多相关主题的帖子: int 指针 case printf char 
2022-06-13 11:35
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册:2011-1-18
收藏
得分:10 
不如把题目完完整整地贴出来
2022-06-13 12:22
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册:2011-1-18
收藏
得分:0 
在不知道题目要求的情况下,给你一个示例

程序代码:
#include <stdio.h>

void get( const char* s, size_t* restrict a, size_t* restrict b )
{
    *a = 0;
    *b = 0;
    for( ; *s; ++s )
    {
        if( *s==' ' || (*s>='\t' && *s<='\r') ) // 空包字符一共有6个,分别是 \t \n \v \f \r 和 空格
            ++*a;
        else if( *s>='a' && *s<='z' )
            ++*b;
    }
}

int main( void )
{
    size_t ws, lc;
    get( "wo shi zhong guo ren", &ws, &lc );
    printf( "有%zu个白空\n", ws );
    printf( "有%zu个小写字符\n", lc );
}
2022-06-13 12:46
JERRY480
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2022-6-13
收藏
得分:0 
回复 3楼 rjsp
请问,main 函数里,for循环里条件*s,这句意思是遇到\n就结束吗?还是s++地址,走完*s的地址结束的,本人初学者,还在云里雾里,这个循环是怎么结束的

[此贴子已经被作者于2022-6-13 18:19编辑过]

2022-06-13 17:40
JERRY480
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2022-6-13
收藏
得分:0 
以下是引用JERRY480在2022-6-13 17:40:40的发言:

请问,main 函数里,for循环里条件*s,这句意思是遇到\n就结束吗?

说错了是get函数里
2022-06-13 17:41
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册:2011-1-18
收藏
得分:0 
回复 4楼 JERRY480
遇到 '\0' 结束,也就是遍历整个字符串
2022-06-13 19:00
JERRY480
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2022-6-13
收藏
得分:0 
回复 6楼 rjsp
谢谢啦,请问这个s是*s,指向的地址吗
2022-06-13 19:15
op123
Rank: 6Rank: 6
等 级:贵宾
威 望:21
帖 子:170
专家分:461
注 册:2022-6-4
收藏
得分:0 
是的!!!
2022-06-19 15:47
快速回复:写了个,关于指针的问题,求解决
数据加载中...
 
   



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

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