死亦秋叶之静美 发表于 2019-11-15 08:29:38

求助 运行出问题

# include <stdio.h>
# include <string.h>
int mian (void)
{
        char str1[] = "To be or not to be";
        char str2;

        strncpy(str2, str1, 5);
        str2 = '\0';
        printf ("str2: %s\n",str2);
        return 0 ;
}
使用vc++6.0编译器第一步不会报错,但是第二步会报错1 unresolved externals是怎么回事,在我是跟着up主的视频一点点敲的,各位大神,谁知道,告诉小弟一下

倒戈卸甲 发表于 2019-11-15 09:03:36

新手朋友们总是很喜欢面条。主函数叫main,不是mian

死亦秋叶之静美 发表于 2019-11-15 09:09:49

谢谢,但是你前面说的那句话是什么意思?没理解

倒戈卸甲 发表于 2019-11-15 09:42:04

死亦秋叶之静美 发表于 2019-11-15 09:09
谢谢,但是你前面说的那句话是什么意思?没理解

因为把main打成“面”的汉语拼音" mian",在新手当中是极为常见的,所以有这么一个冷笑话

jackz007 发表于 2019-11-15 10:35:37

本帖最后由 jackz007 于 2019-11-15 11:31 编辑

      常识性问题:
      char str2[5];
      . . . . . .
      strncpy(str2, str1, 5);
      
      str2 定义的容量太小,不足以容纳由 5 个字符组成的字符串!字符串复制操作的结果,会引起 str2 下标越界。当然,这只是一个运行时问题,与当前的编译器报错无关。
页: [1]
查看完整版本: 求助 运行出问题