|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 sgaizxt001 于 2018-11-10 22:35 编辑
先附上代码
- #include <stdio.h>
- #include <string.h>
- #include <stdlib.h>
- #define LENGTH 100
- int main(void)
- {
- void reverse(char s[],int a);
- char str[LENGTH];
- int l, i;
- char c;
-
- for (i = 0; i < LENGTH - 1 && (c = getchar()) != EOF && c != '\n'; i++)
- {
- str[i] = c;
- }
- if (c == '\n')
- {
- str[i] = '\n';
- i++;
- }
- str[i] = '\0';
- l = i-1;
- printf("the string length is %d\n", l);
- reverse(str, l);
- system("pause");
- }
- void reverse(char s[], int a)
- {
- char t[LENGTH];
- int i;
- i = 0;
- while (a>=0)
- {
- t[i] = s[a];
- i++;
- a--;
- }
- for (i = 0; i <= a; i++)
- {
- printf("%c", t[i]);
- }
- }
复制代码
主要是reserve函数好像没有作用,用断点测试,t[]和s[]能正确交换,但是不显示t[]呢。请问是哪里出了问题
因为在reserve 函数中 a在a--后为0了 i又等于0 所以不进行for循环 你应该再设置一个变量来存a的原值
|
|