重庆网站建设策划,php免费源码,discuz论坛 整合到网站,企业自己做网站问#xff1a;1. Solve the problems#xff1a;我想用三种方法求字符串的长度怎么办#xff1f;2. strlen处理的字符串中有什么时需要注意#xff1a;什么只记为什么#xff1f;当什么不起什么作用时#xff0c;什么不计算在内#xff0c;编译器会把什么#xff0c;什…问1. Solve the problems我想用三种方法求字符串的长度怎么办2. strlen处理的字符串中有什么时需要注意什么只记为什么当什么不起什么作用时什么不计算在内编译器会把什么什么什么或者什么当成什么strlen碰到什么就会怎么样而什么无影响3. Solve the problems我想实现两个字符串拷贝怎么办4. Solve the problems我想实现两个字符串拼接怎么办5. Solve the problems我想实现两个字符串比较怎么办6. Solve the problems如何判断一个字符串是不是另外一个字符串的子字符串7. Slove the problems如何把字符串Elon MuskTelsa:SpaceXC肢解成Elon MuskTelsaSpaceXC分别打印出来呢8. 由于什么会怎么样因此用什么进行什么的字符串一般都是什么9. Solve the problems我想设计一个密码登录器要求密码必须有大写字母≥2个小写字母≥3个数字≥3个长度≤20不得含有敏感词汇“Elon Musk”该怎么写10. Solve the problems报刊头标arr : “Elon Musk Is A Great Successful Person! ”如何将Is的I改成小写并且后面全部大写11. Solve the problems我想把内存数据不受数据类型限制直接无脑拷贝到另一个内存区域该怎么办12. Solve the problems上述情况下两块内存区域有重叠该怎么办13. Solve the problems我想要把学生结构体的成员年龄初始化为0成绩初始化为0姓名字符初始化为*该怎么办答//1
size_t my_strlen(const char* str)
{assert(str);size_t count 0;while (*str){count;str;}return count;
}//2
size_t my_strlen(const char* str)
{assert(str);if (*str){return my_strlen(str 1) 1;}else{return 0;}
}//3
size_t my_strlen(const char* str)
{assert(str);const char* start str;while (*str){str;}return str - start;
}转义字符转义字符整体一个字符\转义\本身\0\00\000\x000....\0停下来sizeof。//解决方法
char* my_strcpy(char* dest, const char* src)
{assert(dest src);char* ret (char*)dest;while (*dest *src){;}return ret;
}//解决方法
char* my_strcat(char* dest, const char* src)
{assert(dest src);char* ret (char*)dest;while (*dest){dest;}while (*dest *src){;}return ret;
}//解决方法
int my_strcmp(const char* str1, const char* str2)
{assert(str1 str2);while (*str1 *str2){if (*str1 \0){return 0;}str1;str2;}if (*str1 *str2){return 1;}else{return -1;}
}//解决方法
char* my_strstr(const char* str1, const char* str2)
{assert(str1 str2);if (*str2 \0)return (char*)str1;char* s1 NULL;char* s2 NULL;char* cp (char*)str1;while (*cp){s1 cp;s2 str2;while (*s1 *s2){s1;s2;if (*s2 \0){return cp;}}cp;}return NULL;
}//解决方法
int main()
{char str[30] Elon MuskTelsa:SpaceXC;char* sep :;for (char* ret strtok(str, sep); ret ! NULL; ret strtok(NULL, sep)){printf(%s\n, ret);}return 0;
}strtok函数改变被操作的字符串strtok切分临时拷贝的备份。//解决方法
#include ctype.h
#define PASSWORD_MAX 30
int JudgePassword(const char* password)
{int flag1 0;int flag2 0;int flag3 0;int sz strlen(password);if (sz 30 || strstr(password, ElonMusk) ! NULL)return 0;int i 0;for (i 0; i sz; i){if (islower(password[i]))flag1;else if (isupper(password[i]))flag2;else if (isdigit(password[i]))flag3;if (flag1 3 flag2 2 flag3 3)return 1;}return 0;
}
int main()
{printf(请输入密码);char password[PASSWORD_MAX] { 0 };while (gets(password) ! EOF){if (JudgePassword(password)){printf(密码已经设置成功\n);break;}printf(不符合规定重新设置);}return 0;
}//解决方法
#include ctype.h
void Change(char* p)
{while (*p){if (islower(*p)){*p toupper(*p);}p;}
}
int main()
{char arr[50] Elon Musk Is A Great Successful Person ! ;int i 0;while (*(arr i)){if (*(arr i) I)*(arr i) i;if (*(arr i) A){Change(arr i);break;}i;}printf(%s\n, arr);return 0;
}void* my_memcpy(void* dest, const void* src, size_t num)
{assert(dest src);void* ret dest;int i 0;for (i 0; i num; i){*((char*)dest) *((char*)src);((char*)src);((char*)dest);}return ret;
}//解决方法
void* my_memmove(void* dest, const void* src, size_t num)
{assert(dest src);void* ret dest;if (src dest){while (num--){*((char*)dest num) *((char*)src num);}}else{while (num--){*((char*)dest) *((char*)src);src (char*)src 1;dest (char*)dest 1;}}return ret;
}struct Stu
{char name[10];int age;float score;
}s1;
int main()
{struct Stu* ps1 s1;memset((ps1-name), *, sizeof(ps1-name));memset((ps1-age), 0, sizeof(ps1-age));memset((ps1-score), 0, sizeof(ps1-score));printf(%s %d %.2lf, s1.name, s1.age, s1.score);return 0;
}