其他分享
首页 > 其他分享> > c primer plus 10 复习题

c primer plus 10 复习题

作者:互联网

 

9、

#include <stdio.h>

char *s_gets(char *st, int n);

int main(void)
{
    char st1[100];
    
    s_gets(st1, 100);
    
    puts(st1);
    
    return 0;
}

char *s_gets(char *st, int n)
{
    char *ret_val;
    
    ret_val = fgets(st, n, stdin);
    
    if(ret_val)
    {
        while(*st != '\n' && *st != '\0')
            st++;
        
        if(*st == '\n')
            *st = '\0';
        else
            while(getchar() != '\n')
                continue;
    }
    return ret_val;
}

 

10、

#include <stdio.h>

int strlen2(char *ar);

int main(void)
{
    char st1[100] = "3sdfad";
    int n;
    
    n = strlen2(st1);
    
    printf("n: %d.\n", n);
    
    return 0;
} 
 
int strlen2(char * ar)
{
    int  count = 0;
    
    while(*ar)
    {
        count++;
        ar++;
    }
    return count;
}

 

11、

#include <stdio.h>
#include <string.h>

#define SIZE 100

char *s_gets(char *st, int n);

int main(void)
{
    char st1[SIZE];
    
    puts("input the strings.");
    
    s_gets(st1, SIZE);
    
    puts(st1);
    
    return 0;    
} 

char *s_gets(char *st, int n)
{
    char *ret_val;
    int i = 0;
    char * find;
    
    
    ret_val = fgets(st, n, stdin);
    
    if(ret_val)
    {
        find = strchr(st, '\n');
        
        if(find)
            *find = '\0';
        else
            while(getchar() != '\n')
                continue;
    }
    
    return ret_val;
}

 

标签:10,val,int,ret,st,char,plus,st1,primer
来源: https://www.cnblogs.com/liujiaxin2018/p/15306437.html