mirror of
https://github.com/hairrrrr/C-CrashCourse.git
synced 2026-02-08 21:23:25 +08:00
2-8
This commit is contained in:
285
C Crash Course/13 String/Prelesson/code/Test/main.c
Normal file
285
C Crash Course/13 String/Prelesson/code/Test/main.c
Normal file
@@ -0,0 +1,285 @@
|
||||
#define _CRT_SECURE_NO_WARNINGS 1
|
||||
|
||||
#include<stdio.h>
|
||||
#include<string.h>
|
||||
|
||||
int main(void) {
|
||||
|
||||
char ch = -1;
|
||||
|
||||
int a = 0;
|
||||
|
||||
a = putchar(ch);
|
||||
|
||||
printf("\n%d", a);
|
||||
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
int main(void) {
|
||||
|
||||
int ch;
|
||||
|
||||
while ((ch = getchar()) != EOF) {
|
||||
putchar(ch);
|
||||
}
|
||||
|
||||
printf("EOF\n");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int main() {
|
||||
|
||||
char str[] = { 'H', 'E', 'L', 'L', 'O', };
|
||||
|
||||
printf("%d\n", strlen(str));
|
||||
|
||||
printf("%d\n", strnlen_s(str, (size_t)sizeof(str)));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int test(const char* str) {
|
||||
|
||||
str++;
|
||||
*str = '1';
|
||||
}
|
||||
|
||||
int main() {
|
||||
|
||||
char str[] = { 'H', 'I', '!' };
|
||||
|
||||
str++;
|
||||
|
||||
printf("%d\n", test(str));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int mystrlen(const char* str) {
|
||||
|
||||
char* end = str;
|
||||
|
||||
while (*end++);
|
||||
|
||||
//退出while循环时,多加了一次 1
|
||||
return end - str - 1;
|
||||
|
||||
}
|
||||
|
||||
int main() {
|
||||
|
||||
char* str = "Hello World!";
|
||||
|
||||
printf("%d\n", mystrlen(str));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int mystrcmp(char* str1, char* str2) {
|
||||
|
||||
int ret = 0;
|
||||
|
||||
while ((ret = ((unsigned char)*str1 - (unsigned char)*str2)) == 0 && *str1) {
|
||||
++str1, ++str2;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
UINT_MAX
|
||||
|
||||
int main() {
|
||||
|
||||
char* str1 = "abc ";
|
||||
char* str2 = "abc";
|
||||
|
||||
printf("%d\n", mystrcmp(str1, str2));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int main() {
|
||||
|
||||
char* str1 = NULL;
|
||||
char* str2 = "Hello";
|
||||
|
||||
printf("%d\n", strcmp(str1, str2));
|
||||
printf("%d\n", strncmp(str1, str2, 1));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int mystrcmp(char* str1, char* str2) {
|
||||
|
||||
while (*str1 == *str2 && *str1)
|
||||
++str1, ++str2;
|
||||
|
||||
return (*str1 - *str2);
|
||||
}
|
||||
|
||||
int main() {
|
||||
|
||||
char* str1 = "Hello ";
|
||||
char* str2 = "Hello";
|
||||
|
||||
printf("%d\n", mystrcmp(str1, str2));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int main() {
|
||||
|
||||
char* str1 = "Hello";
|
||||
char* str2 = "Hello";
|
||||
|
||||
//strcpy(str1, str2);
|
||||
strncpy(str1, str2, 5);
|
||||
|
||||
puts(str1);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int main() {
|
||||
|
||||
char str1[] = "Hello";
|
||||
char str2[] = "Hello";
|
||||
|
||||
//strcpy(str1, str2);
|
||||
strncpy(str1, str2, 6);
|
||||
|
||||
puts(str1);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int main() {
|
||||
|
||||
char str1[] = "hello";
|
||||
char str2[] = "hello world";
|
||||
|
||||
strcpy(str1, str2);
|
||||
//strncpy(str1, str2, 5);
|
||||
|
||||
puts(str1);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int main() {
|
||||
|
||||
char* str1 = "Hello";
|
||||
char* str2 = "Hello World";
|
||||
|
||||
strcpy(str1, str2);
|
||||
strncpy(str1, str2, 12);
|
||||
|
||||
puts(str1);
|
||||
|
||||
return 0;
|
||||
}
|
||||
int main() {
|
||||
|
||||
char str1[] = "Hello World";
|
||||
char str2[] = { 'H', 'e', 'l','l', 'o' };
|
||||
|
||||
strncpy(str1, str2, 10);
|
||||
|
||||
puts(str1);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int main() {
|
||||
|
||||
char str1[] = "Hello World";
|
||||
char str2[] = "World";
|
||||
|
||||
//strncpy(str1, str2, 10);
|
||||
strcpy(str1, str2);
|
||||
puts(str1);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#include<assert.h>
|
||||
|
||||
char* mystrcpy(char* str1, char* str2) {
|
||||
|
||||
assert(str1 != NULL && str2 != NULL);
|
||||
assert(strlen(str1) >= strlen(str2));
|
||||
|
||||
//核心代码从这里开始, 上面的不懂可以加QQ群问我(群在我公众号关注回复的消息里)
|
||||
char* after = str1;
|
||||
|
||||
while (*str1++ = *str2++);
|
||||
|
||||
return after;
|
||||
}
|
||||
|
||||
int main() {
|
||||
|
||||
char* str1 = "HI!!!";
|
||||
char* str2 = "Hello";
|
||||
|
||||
mystrcpy(str1, str2);
|
||||
puts(str1);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int main() {
|
||||
|
||||
char str1[11] = "Hello";
|
||||
char str2[3] = { 'J', 'I', 'M' };
|
||||
|
||||
strcat(str1, str2);
|
||||
puts(str1);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int main() {
|
||||
|
||||
char str2[3] = { 'J', 'I', 'M' };
|
||||
char str1[3] = "JIM";
|
||||
|
||||
|
||||
printf("%d\n", strcmp(str1, str2));
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int main() {
|
||||
|
||||
char str1[8] = "hi";
|
||||
char str2[4] = "you";
|
||||
|
||||
strncat(str1, str2, 5);
|
||||
puts(str1);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
char* mystrcat(char* str1, char* str2) {
|
||||
|
||||
while (str1[strlen(str1)] = *str2++);
|
||||
|
||||
return str1;
|
||||
}
|
||||
|
||||
int main() {
|
||||
|
||||
char str1[8] = "Hi";
|
||||
char str2[4] = "YOU";
|
||||
|
||||
mystrcat(str1, str2);
|
||||
puts(str1);
|
||||
|
||||
return 0;
|
||||
}
|
||||
1
C Crash Course/13 String/Prelesson/code/Test/readme.md
Normal file
1
C Crash Course/13 String/Prelesson/code/Test/readme.md
Normal file
@@ -0,0 +1 @@
|
||||
写文章中的测试代码
|
||||
Reference in New Issue
Block a user