C语言一题。。高手帮忙挑挑错啊

来源:百度知道 编辑:UC知道 时间:2024/06/17 19:36:35
题目:输入一串字符串,使其反序存放。
我是这样写的,不知怎么老是出错。。高手帮忙挑挑错。。
#include <string.h>
#include <stdio.h>
void main()
{
void a(char c[]);
char c[10];
printf("put ten abs here\n");
for (int i=0;i<10;i++)
scanf("%c",&c[i]);
a(c);
for (int j=0;j<10;j++)
printf("%c",c[i]);
}

void a(char c[])
{
int k=strlen(c);
int j;
char t;
for (j=0;j<strlen(c);j++)
{
t=c[j];
c[j]=c[k-j-1];
c[k-j-1]=t;
}
}

#include <string.h>
#include <stdio.h>
void main()
{
void a(char c[]);
char c[10];
printf("put ten abs here\n");
scanf("%s",c);
a(c);
printf("%s",c);
}

void a(char c[])
{
int k=strlen(c);
int j;
char t;
for(j=0;j<=strlen(c)/2;j++)
{
t=c[j];
c[j]=c[k-j-1];
c[k-j-1]=t;
}
}

改了一下 可以运行了
你的错误是 输入输出时直接用%s就好了 用%c编译会出错 语法上没错
还有一个是 j<strlen(c); 应该为 j<=strlen(c)/2
你想想

#include <string.h>
#include <stdio.h>
void main()
{
void a(char c[]);
char c[10];
printf("put ten abs here\n");
for (int i=0;i<10;i++)/
scanf("%c",&c[i]);
a(c);
for (int j=0;j<10;j++)
printf("%c",c[i]);
}

void a(char c[])
{
int k=strlen(c);
int j;