
这是大致分析。
char ch[2][5]={"6934","8254"},*p[2] //定义了一个二维数组的字符串,和指针。
int i,j,s=0
//这个循环 是 将ch的值,赋给指针*p[0],*p[1]
for(i=0i<2i++)
p[i]=ch[i]
//这两个循环是将指针P[0],P[1]的偶数位 转换为int型 赋给S。
for(i=0i<2i++)
for(j=0p[i][j]>'0'&&p[i][j]<='9'j+=2)
s=10*s+p[i][j]-'0' //这句话就是将char型,转换为int型的语句。
//逻辑就是对应的数字的ASCII码值,减去'0'的ASCII码值。
printf("%d\n",s)//打印S;结果为6385 。
#include"stdio.h"//printf的头文件void func1(int i)//对于函数1的提前声明
void func2(int i)//对于函数2的提前声明
char st[]="hello,friend"//定义一个长度为12的字符数组
//c++里所有的数组都是从0开始计数的哦
void func1(int i) { //其实如果提前声明了↑↑(第2行),这个函数还可以写在主函数(main)的后面
printf("%c",st[i])//等于putchar(st[i]) 作用:输出一个字符
if(i<3) {//等于i<=2 判断i是否小于3
i+=2//等于i=i+2,表示i自增2
func2(i)//调用func2函数
}
}
void func2(int i) {
printf("%c",st[i])//一样的
if(i<3) {//还是一样的
i+=2//...
func1(i)//再调用func1函数
}
}
main() {//主函数可以不写"int main()",但在一些比赛中是不允许的。
int i//定义一个局部变量
i=0//把i的值设为0
func1(i)//调用func1(0)
printf("\n")//输出换行
//其实最好要再写一个"return 0"结束程序
}
/*
程序流程:
主函数内调用func1(0):
输出st[0]->h
i<3? (i=0) -> i<3
i+2 i=2 调用func2(2):
输出st[2]->l
i<3? (i=2) -> i<3
i+2 i=4 调用func1(4):
输出st[4]->o
i<3? (i=4) -> i>3
返回!
返回!
返回!
返回!
返回!
返回!
返回!
输出换行
结束程序
*/
题目01:在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,空格用来分隔不同的单词。
直接编译,程序执行结果如下图所示:
题目02:编写一个int string_len(char *s),返回字符串s的字符长度(不包括\0)。
直接编译,程序执行结果如下图所示:
扩展资料:C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)