10.24 下午到晚自习 关于strcpy和atio这两个函数

发布于 2024-10-24  214 次阅读


char a[100],b[100];
char c[200];
c=a;

c=a这个表达式完全错误!因为你不能直接将一个数组赋值给另一个数组。你需要使用 strcpy 函数来复制字符串

// 复制字符串 strcpy(c, a); // 使用 strcpy 函数复制字符串

意为将a给c,就好像赋值一样,左边才是对象

#include <string.h> // 需要包含这个头文件以使用 strcpy,strcpy和strlen一样都是处理字符(串)

//这里的题目是连接两个字符串


题目:写一函数,输入一个四位数字,要求输出这四个数字字符,但每两个数字间空格。如输入1990,应输出"1 9 9 0"

最垃圾的题目,但是为了扩展还是说一下

第一个,最最直接的思路,把数字当成数字,用\用%,然后直接或者用数组去存,输出

第二个,就是反常规了。我考虑的是,将四位数字看成字符串,利用遍历数组去输出

int main() {
char ch[4];
scanf("%s", &ch);
for (int i = 0; i < 4; i++) {
printf("%c ", ch[i]);
}
return 0;

}

就这么简单!(投机取巧,考试勿用)


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

int main() {
	char ch[4];
	scanf("%s", &ch);
	int number = atoi(ch); // 使用 atoi 函数将字符串转换为整数
	printf("%d", number);
	return 0;
}

这个代码中用到了标准库里面的atoi函数,它的全称是 “ASCII to Integer”,用于将字符串转换为整数

值得注意的是,它在标准库里面而不是string头文件里面

//这里不能使用强制类型转换,而且,atoi函数的对象必须全是数字的字符串,如果输入字符串不合法(例如包含非数字字符),它可能会返回 0并出现错误

这里就是单纯了解下atoi,这块代码就是纯粹浪费时间没几把用

届ける言葉を今は育ててる
最后更新于 2024-11-05