char p=" I am a student";这段话是把后面“ I am a student”这段字符串的首地址赋值给p。
然后for(;p!='\0';p++)这个循环的限制条件是p!=‘\0’即当p指向字符串的尾部终止,p++是一次循环之后指向下一个字符。if(p==' ')是当指向的是空格的时候。ps:你的mian
函数
前面要有类型值。if(p==' ')要有空格。for循环后面的循环语句最好加上{};
#include"stdioh"//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
返回!
返回!
返回!
返回!
返回!
返回!
返回!
输出换行
结束程序
/
总的来说 就是一个键盘扫描加显示的简单程序, 我刚开始还打算帮你注释下,但是这结构也太乱了,而且IO口定义与硬件还是有点关系的,你最好再贴个硬件图上来。还有把程序的结构理理好 多用TAB键以上就是关于C
原文地址: