注册 登录
编程论坛 C++教室

字符串数组

jj程序 发布于 2013-04-11 11:13, 404 次点击
     这个程序有什么问题?求大神解释
  #include"stdio.h"
#include"string.h"
#define n 10
main()
{
    char a[20],str[n];
    int i,k,m;
    scanf("%d",&m);
    for(i=0;i<10;i++)
    gets(str[i]);
    for(i=n;i>=m;i--)
        puts(str[i]);
    strcpy(a[k],str[i]);


   








}
5 回复
#2
wp2319572013-04-11 11:15
怎么提问都这样提问呢

你难道不想告诉我们你的程序想干嘛呢   输入啥  输出啥
#3
peach54602013-04-11 11:19
以下是引用wp231957在2013-4-11 11:15:35的发言:

怎么提问都这样提问呢

你难道不想告诉我们你的程序想干嘛呢   输入啥  输出啥

一般碰到这种问题,我都会很腹黑
#4
邓士林2013-04-11 21:52
以后问问题要明确自己想表达什么:
1、gets(str[i]);puts(str[i]);这两个函数的参数都是字符串,不是字符,你这样表达是字符了,可定不对。
2、strcpy(a[k],str[i]);strcpy的参数也是字符串的复制,你的参数是字符,不能编译
在你的程序修改如下:
 #include"stdio.h"
 #include"string.h"
 #define n 10
 main()
 {
     char a[20],str[n];
     int i,k,m;
     scanf("%d",&m);
     gets(str);
     puts(str);
     strcpy(a,str);
}
如果你还想用for循环,那么你可以用getchar和putchar函数。
#include"stdio.h"
 #include"string.h"
 #define n 10
 main()
 {
     char a[20],str[n];
     int i,k,m;
     scanf("%d",&m);
     for(i=0;i<10;i++)
     getchar(str[i]);
     for(i=n;i>=m;i--)
         putchar(str[i]);
     strcpy(a,str);
 
 }
 
#5
qunxingw2013-04-11 21:52
  #include"stdio.h"
#include"string.h"
#define n 10
 int main()
{
    char a[20],str[n];

      gets(str);

     puts(str);
    strcpy(a,str);

     puts(a);
return 0;
#6
aa4959397922013-04-12 12:37
我记得 C 里面字符串数组不是得用二维数组存放的么?
1