| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1112 人关注过本帖
标题:这段程序有问题吗?
取消只看楼主 加入收藏
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
这段程序有问题吗?
怎么运行出现乱码,vs2015
#include <stdio.h>
#include <stdlib.h>
void main()
{
    char s[100], t;
    int i;
    printf("请输入字符串:");
        scanf_s("%s", s);
        printf("请输入要插入的字符:");
        scanf_s("%c", &t);
        printf("请输入插入的位置:");
        scanf_s("%d", &i);
        /*insert(s, t, i);*/
        printf("新的字符串为:%s", s);
    system("pause");
}
运行出现乱码
搜索更多相关主题的帖子: include system insert 字符串 
2016-07-06 15:33
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:0 
为什么后面要加个getchar()?
2016-07-06 16:07
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:0 
这个程序在gcc下运行出错!
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void insert(char s[],char t,int i)
{
    char string[100];
    if (!strlen(s))
        string[0] = t;
    else
        strncpy(string, s, i);
    string[i] = t;
    string[i + 1] = '\0';
    strcat(string, s + i);
    strcpy(s, string);
}
void main()
{
    char s[100], t;
    int i;
    printf("请输入字符串:");
        scanf("%s", s);
        printf("请输入要插入的字符:");
        scanf("%c", &t);
        printf("请输入插入的位置:");
        scanf("%d", &i);
        insert(s, t, i);
        printf("新的字符串为:%s", s);
    system("pause");
}

2016-07-06 16:15
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:0 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
vs2015中也不能正确执行,插入的变成了乱码!
void insert(char s[],char t,int i)
{
    char string[100];
    if (!strlen(s))
        string[0] = t;
    else
        strncpy_s(string, s, i);
    string[i] = t;
    string[i + 1] = '\0';
    strcat_s(string, s + i);
    strcpy_s(s,strlen(string)+1, string);
}
void main()
{
    char s[100], t;
    int i;
    printf("请输入字符串:");
        scanf_s("%s", s,100);
        getchar();
        printf("请输入要插入的字符:");
        scanf_s("%c", &t);
        getchar();
        printf("请输入插入的位置:");
        scanf_s("%d", &i);
        insert(s, t, i);
        printf("新的字符串为:%s", s);
    system("pause");
}
2016-07-06 16:28
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:0 
知道了,scanf_s("%c", &t,1);这个后面加个1就好了,谢谢!
2016-07-06 16:40
快速回复:这段程序有问题吗?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017910 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved