C程序编写
输入五个字符,运行结果输出逆序的这5个字符,例如:输入abcde,输出edcba,必须用到函数的递归法
#include void reverse(char *line){ char ch=*line; if(ch){ reverse(++line); printf("%c",ch);} } int main(){ char line[81]; char*ptr; ptr=gets(line); reverse(line); return 0; } 我们课本上的,经我略微改动。但是具体我也不是很了解。 我看看这个程序,总觉得最后应该输出最后一个字符。 请方家指点。
#include "stdio。h" void reverse(char *p) { char ch=*p; if(ch) /*循环条件*/ { reverse(++p); printf("%c",ch); } } int main() { char line[81]={'a','b','c'}; /*初始化*/ char *ptr; ptr=line; /*数组的头结点付给指针变量*/ reverse(ptr); /*调用函数*/ return 0; } 这是我仿dongfang7585。
写的程序 一开始我读这个程序也以为是输出最后一个字符 但运行结果是: cba 后来想明白了 每次++p后面的printf("%c",ch);都要执行 当循环条件不满足时(p指向c后面的结束符)开始执行 首先输出c 然后回到上一层循环 输出b 再回到上一层 输出a。
/* by Colin 2006-12-06 */ #include void foo(char str[]) { char *p = str; char c = *p; if (*++p) foo(p); printf("%c", c); } int main() { foo("abcde"); return 0; }
答:#include "stdio.h" int invert(long m) { printf("%ld", m%10); m = m/10; if (m>0...详情>>
答:c++ 是程序语言 不是系统 谢谢详情>>