当前位置: 代码迷 >> C语言 >> 帮忙看下
  详细解决方案

帮忙看下

热度:128   发布时间:2007-12-03 16:07:42.0
帮忙看下
实现两个字符串连接。
main()
{char str[2];
int i;
char stri[30];
clrscr();
for(i=0;i<2;i++)
   gets(str[i]);
printf("%s",strcat(str[0],str[1]));
getch();
}
看下语法是否正确》》

[[italic] 本帖最后由 fdjlglt 于 2007-12-3 16:09 编辑 [/italic]]
----------------解决方案--------------------------------------------------------
不明白你要做什么~
----------------解决方案--------------------------------------------------------
能看出你的想法,你好像类型有问题!!!
----------------解决方案--------------------------------------------------------
语法是否正确可以让编译器去看
----------------解决方案--------------------------------------------------------
用string.h头文件就可以了
----------------解决方案--------------------------------------------------------
回复 4# 的帖子
好的~~!
非常感谢。。
----------------解决方案--------------------------------------------------------
#include <stdio.h>
#include <string.h>
main()
{
    char str[2];    // 这是字符数组
    int i;
    char stri[30];  /* stri ? */
//----------------------------------------------------------------------------------------------//
    for(i = 0; i < 2; i++)  /* 错 */
        gets(str[i]);       /* 错误,str[i] 是一个字符 */

//----------------------------------------------------------------------------------------------//
    printf("%s",strcat(str[0],str[1]));  /* 错误,str[0] 是字符,str[1] 也是字符 */
    getch();
}

[[italic] 本帖最后由 cosdos 于 2007-12-3 21:28 编辑 [/italic]]
----------------解决方案--------------------------------------------------------
/* 一个示例  */

#include <stdio.h>
#include <string.h>

int main(void)
{
    char * str_ar[2];  /* char 指针数组,存放2个字符串的地址 */
    int i;
    char str1[128];    /* 字符数组 */
    char str2[64];
    str_ar[0] = str1;
    str_ar[1] = str2;
   
    for(i = 0; i < 2; i++)
        gets(str_ar[i]);

    printf("%s", strcat(str_ar[0], str_ar[1]));  /* 最好使用strncat() */
   
    getchar();
    return 0;
}

/************************************************************************
strcat()   接受两个字符串参数,把第二个字符串拷贝添加到第一个字符串,
           返回第一个字符串中第一个字符的地址 (string concatenation)
           不检查第一个数组是否能够容纳第二个字符串

strncat()  和 strcat() 一样,但比它多一个参数,第三个参数为添加的字符数
                sizeof(str1) - strlen(str1) - 1
************************************************************************/

printf("%s\n", strncat(str_ar[0], str_ar[1], sizeof(str1) - strlen(str1) - 1));   // strncat()

//

[[italic] 本帖最后由 cosdos 于 2007-12-3 21:30 编辑 [/italic]]
----------------解决方案--------------------------------------------------------
唉~~!
刚学程度有限》》
----------------解决方案--------------------------------------------------------
我刚把 《C Primer Plus(第五版)中文版》 看完,
非常不错的书。推荐下!

(我自学的)

[[italic] 本帖最后由 cosdos 于 2007-12-3 21:46 编辑 [/italic]]
----------------解决方案--------------------------------------------------------
  相关解决方案