/* 定义char str[2][20],从键盘输入两个字符 串保存在此数组中,求这两个字符串中的最大字符 */ #include <stdio.h> #include <string.h> int main(void) { char str[2][20]; int i, j; char max_c; for(i = 0; i < 2; i++){ scanf("%s", str[i]); // str[i] == char(*)[20] } for(i = 0; i < 2; i++){ printf("%s ", str[i]); } printf("\n"); max_c = str[0][0]; for(i = 0; i < 2; i++){ for(j = 0; str[i][j] != '\0'; j++){ if(str[i][j] > max_c ) { max_c = str[i][j]; } } } printf("%c\n", max_c); return 0; } /* dawxd adaz dawxd adaz z */<pre name="code" class="cpp"> /* 自己编写程序实现void itoa(int x, char *str)(将数字x, 转换为字符串并保存到str中,即如:54639 转成‚54639‛) */ #include <stdio.h> #include <string.h> void itoa(int x, char *str) { // char str[20]; int i=0, j; char str_l[20]; do{ str[i] = x%10 + '0'; i++; }while( (x = x/10) != 0 ); str[i] = '\0'; str_l[i] = str[i]; for(--i, j = 0; i >= 0 ; i--, j++ ){ str_l[j] = str[i]; } strcpy(str, str_l); printf("%s\n", str); } int main(void) { int n; char str[20]; scanf("%d", &n); itoa(n, str); return 0; } /* akaedu@akaedu-G41MT-D3:~/lin/721_string$ ./2 785511 785511 */<pre name="code" class="cpp"> /* 统计子串substr在源串src中出现的次数。 源串及子串数据从命令行参数获取。 */ #include <stdio.h> #include <string.h> int main(int argc, char **argv) { char *retp, *begin; int count = 0; int substrlen = 0; retp = strstr(argv[1], argv[2]); if(argc != 3){ printf("Usage:./a.out substr src\n"); return 0; } if(argv[2][0] == '\0'){ printf("count = 0\n"); return 0; } for(begin = argv[1], substrlen = strlen(argv[2]); (retp = strstr(begin, argv[2])); begin = retp + substrlen ){ count++; } printf("count:%d\n", count); return 0; } /* akaedu@akaedu-G41MT-D3:~/lin/721_string$ ./4 adadadad '' count = 0 akaedu@akaedu-G41MT-D3:~/lin/721_string$ ./4 adadadad '' a Usage:./a.out substr src akaedu@akaedu-G41MT-D3:~/lin/721_string$ ./4 adadadad ad count:4 */<pre name="code" class="cpp"> /* 若有字符串http://www.google.cn/search?complete=1&hl=zh-CN&ie=GB2312&q=linux&meta= 用于进行数据搜索,使用库函数分别解析出key与value数据。程序运行后显示: key = complete value = 1 key = hl value = zh-CN … */ #include <stdio.h> #include <string.h> int main(void) { char str[] = "http://www.google.cn/search?complete=1&hl=zh-CN&ie=GB2312&q=linux&meta="; char *value, *begin, *key; puts(str); begin = strchr(str, '?') + 1; for(; (key = strtok(begin, "&")); begin = NULL ){ key = strtok_r(key, "=", &value); if( !key ){ //(key == 0) break; } printf("key:%s value:%s\n", key, value); } return 0; } /* akaedu@akaedu-G41MT-D3:~/lin/722_str$ ./2 http://www.google.cn/search?complete=1&hl=zh-CN&ie=GB2312&q=linux&meta= key:complete value:1 key:hl value:zh-CN key:ie value:GB2312 key:q value:linux key:meta value: */