予你以晴
2020-04-14 10:01
采纳率: 100%
浏览 774

C语言,为什么VS2019输入字符串时会发生异常?

图片说明

#include<stdio.h>
#include<stdlib.h>
#include<iostream>
#include<iomanip>
#include<string>
using namespace std;
int main()
{
    char demo[30];
    char ha[30];
    scanf_s("%s",demo);
    printf("%s",demo );
    return 0;
}
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • 小学狗喵喵叫 2020-04-14 12:19
    已采纳

    后面要加上长度

    scanf_s("%s", demo, 30);
    
    点赞 3 评论
  • 快乐春 2020-04-14 11:51

    可以把
    `scanf_s
    改成scanf然后试一下

    或者直接把scanf这一行替换成cin>>demo

    这样应该可以

    点赞 评论
  • 悠玄烛远琴棋客 2020-04-14 12:12
    #include<stdio.h>
    #include<stdlib.h>
    #include<iostream>
    #include<iomanip>
    #include<string>
    using namespace std;
    int main()
    {
        char demo[30];
        char ha[30];
        cin>> demo;
        cout<<demo;
        return 0;
    }
    

    换成cin/cout就可以了

    点赞 评论
  • Timothy6 2020-04-14 13:11

    也可能是你输入了超过29个字符,30个字符的字符数组最多放29个字符的字符串,因为末尾要有结束符'\0'

    点赞 评论

相关推荐 更多相似问题