# include <stdio.h>
# define N 50
void reverse(char a[],int N)
{
int i,j,temp;
for(i=0,j=N-1;i<j;i++,j--)
{
a[j]=temp;
a[j]=a[i];
a[i]=temp;
}
}
void main ()
{
int k;
char b[N];
printf("请输入一串字符:\n");
for(k=0;k<N;k++) scanf("%s",&b);
printf("反序输出的结果是:\n");
puts(reverse(b));
}
这个程序哪错了?
还有系统不让我通过啊,反馈的错误是
ompiling...
ch07_05.cpp
C:\Documents and Settings\Administrator\桌面\ch07_05.cpp(3) : error C2143: syntax error : missing ')' before 'constant'
C:\Documents and Settings\Administrator\桌面\ch07_05.cpp(3) : error C2143: syntax error : missing ';' before 'constant'
C:\Documents and Settings\Administrator\桌面\ch07_05.cpp(3) : fatal error C1004: unexpected end of file found
执行 cl.exe 时出错.
#include <stdio.h>
#include <string.h>
void input(char st[]);//定义输入函数
void reverse(char st[]);//定义反序函数
int main()
{
char s[20];
input(s);//调用输入函数
printf("Original string: %s\n", s);//输出原字符串
reverse(s);//调用反序函数
printf("New string: %s\n", s);//输出反序后的字符串
return 0;
}
void input(char st[])
{
printf("Please enter string: ");
gets(st);
}
//反序函数
void reverse(char st[])
{
int n=strlen(st);
for (int i=0, j=n-1, t; i<(n/2); t=st[i], st[i]=st[j], st[j]=t, i++, j--);
}
gets()用法:
1、gets() 函数是从键盘输入字符串,该函数只有一个参数。参数类型为 char* 型,即 str 可以是一个字符指针变量名,也可以是一个字符数组名。打开编辑器,新建一个c语言文件,引入标准库并新建主函数:
2、gets() 函数的功能是从输入缓冲区中读取一个字符串存储到字符指针变量 str 所指向的内存空间,这里的程序是用gets函数输入字符串,可以看到不像scanf那样需要使用%号,gets函数中直接传入字符串即可:
3、最后运行下程序,输入“i love you”,可以看到gets函数可以直接输出空格,而scanf函数输出空格则需要使用转义字符实现,因此gets函数的使用要比scanf简洁的多。以上就是gets函数使用方法的演示: