好久没有写C语言了,用了malloc动态分配数组但是却忘了到如malloc.h的头文件,报了错都不到为什么,还是太大意了,时间长了,C语言都忘得差不多了!
而且多个输入函数scanf()连着使用的时候一定要注意回车换行符!特别是多次输入中混着字符串的输入,一定要把回车换行符读走,不然会被读进字符或者字符串里面影响运行结果!
使用一些函数的时候要是报了奇怪的错误却不知道为什么那就要想想是不是要导入相应的头文件!
求一维字符数组中的数字和
动态创建不大于50字节的一维字符数组(大小由用户输入,范围为0
用户输入一个1到50之间的整数,并回车。 在第二行输入一个字符串,假定用户输入的字符串只包含大小写字母和数字,不会含有空格和特殊符号。
输出格式:
一个整数。
输入样例:
输入40代表字符串长度不超过40。对下面用户输入的字符串,其中的数字加起来是:5+1+2+6+8=22
40输出样例:
abs5def126jkm8
22输入样例:
30输出样例:
adbdesdgdgdgdgd
0【编程题|C语言——动态分配数组malloc的使用及读走回车换行符问题】上代码
#include
#includeint main(){
int n,sum=0;
scanf("%d",&n);
char *j;
char *p = (char*)malloc(n*sizeof(char));
char c =getchar();
gets(p);
for(;
*p != '\0';
p++){
if(*p>47 && *p<58){
sum += (*p-48);
}
}
printf("%d\n",sum);
return 0;
}
推荐阅读
- 初学至学会C++|初阶C++—— 第三节—— 动态内存管理 初识模板
- C|C语言——知识点汇总
- C语言|C语言——运算符
- C语言经典例题|【C语言典例】——day11(统计二进制中1的个数)
- 【C进阶】内功修炼秘籍|【C进阶】two -> 指针进阶
- C语言经典例题|【C语言典例】——day10(杨氏矩阵)
- 数组与指针进阶|指针进阶-ONE(包含对数组的加深理解)
- 数组与指针进阶|指针进阶-TWO
- 数组与指针进阶|指针进阶-THREE(有对指针和数组的加深理解)