1. 程式人生 > >C和指標第九章的四個小程式碼

C和指標第九章的四個小程式碼

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//作用是將那個數字按照一定格式輸出9_14_15
void dollars( char *dest,char const *src );

int main()
{
    char a[100];
    char b[300];
    printf("請輸入數字\n");
    gets(a);
    dollars( b, a);
    puts(b);
    //printf("Hello world!\n");
    return 0;
}
void dollars( char *dest
,char const *src ) { int length, i; if( dest == NULL || src == NULL ) { return; } *dest++ = '$'; length = strlen(src); if( length >= 3 ) { for(i = length-2; i>0; ) { *dest++ = *src++; if(--i > 0 && i % 3 ==0
) *dest++ = ','; } } else { *dest ++= '0'; } *dest++ = '.'; *dest++ = length < 2 ? '0':*src++; *dest++ = length < 1 ? '0':*src; *dest ='\0'; }
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//單詞以空白字元分開,並且計算the出現的數目9_14_11
int main() { char a[100]; char *word; char const whitespace[] = " \n\r\f\t\v "; printf("輸入一大句英文!\n"); gets(a); int count = 0; for( word = strtok( a, whitespace ); word != NULL; word = strtok( NULL, whitespace) ) { if( strcmp( word, "the" ) == 0 ) count+=1; } printf( "%d\n", count ); return 0; }
#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>

//類似strcpy的一個函式,但是返回的是指向目標字串末尾的指標
char *mystrcpy(char const *dest, char const *src);

int main()
{
    char a[10]="ABC";
    char b[7]="CDefg";
    // char *first;
    //char *last;
    //first = strcpy(a, b);
    //puts(a);
    mystrcpy(a, b);
    /*int j;
    j = strlen (a);
    int i;
    for(i=0; i < j; i++)
    {
        printf("%c",a[i]);
    }*/
    puts(a);
    return 0;
}
char * mystrcpy(char const *dest, char const *src)
{
    char *m,*n;
    m = dest;
    n = src;
    char *p;
    while(( *m++ = *n++ )!='\0')
    ;
    p=(m-1);
    return p;
}
#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
//計算字串的長度,也可以接受由於strnxx函式導致的沒有'\0'的字串長度,實際上就是看一個數組裡有'\0'就計算那個長,否則就是陣列長度
int mystrlen( char const *string, int size );

int main()
{
    char a[7]="ABC";
    char b[5]="CDEFG";
    strncpy(a, b, 5);
    int count;
    count = mystrlen(a, 8);
    printf("%d\n", count);
    return 0;
}
int mystrlen( char const *string, int size )
{
    int length = 0;
    for(length = 0; length < size; length++)
    {
        if(*string++ == '\0')
            break;
    }
    return length;

}