| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1382 人关注过本帖
标题:这个代码有点看不懂,麻烦哪位解释下
只看楼主 加入收藏
白衣柳相
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:142
专家分:168
注 册:2016-12-23
结帖率:82.61%
收藏
已结贴  问题点数:20 回复次数:3 
这个代码有点看不懂,麻烦哪位解释下
#include<stdio.h>
struct stu
{
    char c;
    char s[80];
};
void f(struct stu t)
{
    int i=0;
    while(t.s[i]!='\0')
    {
        if(t.s[i]==t.c)
        {
            printf("%s\n",t.s+i+1);
            return ;
        }
        i++;
    }
    printf("%s\n",t.s);
    return ;
}

int main( )
{
    int k;
    struct stu str[4]= {{'e',"hello"},{'h',"hello"},{'l',"hello"},{'a',"hello"}};
    for(k=0; k<4; k++)
        f(str[k]);
}
函数f里面都不是很懂,尤其是第一个if判断,哪位大神有空可以帮忙解释下,
搜索更多相关主题的帖子: include return hello 
2017-02-07 12:07
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:5 
就是输出t.c后面的东东~
如果结构体s成员不含字符c,则输出整个字符串~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-02-07 12:14
ldsh304
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:7
帖 子:242
专家分:755
注 册:2016-1-18
收藏
得分:10 
若结构体中字符串s不含字符c,则输出整个字符串,
否则输出字符串s中字符c后的字符
2017-02-07 13:19
ICU
Rank: 4
等 级:业余侠客
威 望:2
帖 子:92
专家分:268
注 册:2017-1-14
收藏
得分:5 
struct stu
{
    char c;
    char s[80];
};
void f(struct stu t)//函数以一个结构体变量为参数,结构体包含一个字符元素和一个字符数组元素
{
    int i=0;
    while(t.s[i]!='\0')//从头检查结构体变量的字符数组元素
    {
        if(t.s[i]==t.c)//若字符数组元素第i个值和字符元素相同,则从字符数组元素的第i+1个打印输出,然后退出子程序
        {
            printf("%s\n",t.s+i+1);
            return ;
        }
        i++;
    }//只有当检查完所有字符数组元素,与字符元素均不相同时,才会检查到字符串结束符'\0'终止while循环,然后打印整个字符数组
    printf("%s\n",t.s);
    return ;
}
2017-02-07 14:10
快速回复:这个代码有点看不懂,麻烦哪位解释下
数据加载中...
 
   



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

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