标题:整个程序调试时没问题,为啥一执行完我标记的那一句就报错了呢
取消只看楼主
Gband
Rank: 1
等 级:新手上路
帖 子:41
专家分:7
注 册:2017-10-13
结帖率:88.89%
已结贴  问题点数:20 回复次数:3 
整个程序调试时没问题,为啥一执行完我标记的那一句就报错了呢
程序代码:
#include "stdio.h"
#include "stdlib.h"
#include "ctype.h"
#include "string.h"
#define falsse 0
#define true 1
#define capacity 50
#define INCR 2
int main(void)
{
    char *yanyu = NULL;
    char *temp = NULL;
    int count = 0;
    int num = 0;
    int flag = false;
    char answer = 'n';
    do
    {
        if (count == num)
        {
            num += INCR;
            temp = (char*)malloc(capacity*sizeof(char));
            if (yanyu != NULL)
            {
                for (int i = 0; i < count; i++)
                    *(temp + i) = *(yanyu + i);
                free(yanyu);
            }
            yanyu = temp;
            free(temp);
            temp = NULL;
        }
        printf("请输入几句谚语:\n");
        scanf_s("%s", capacity, yanyu + count++);       //此句

        printf("还想输入更多吗('y' or 'n')\n");
        scanf_s("  %c", &answer);
    } while (tolower(answer) == 'y');

搜索更多相关主题的帖子: define int char NULL temp 
2017-10-24 15:31
Gband
Rank: 1
等 级:新手上路
帖 子:41
专家分:7
注 册:2017-10-13
得分:0 
回复 2楼 吹水佬
没有改啊
能说一下在哪一句改了吗
2017-10-26 19:08
Gband
Rank: 1
等 级:新手上路
帖 子:41
专家分:7
注 册:2017-10-13
得分:0 
回复 4楼 吹水佬
刚删了也没用,在scanf_s中capacity的作用好像只是控制一下输入值所占的空间范围吧
2017-10-27 11:42
Gband
Rank: 1
等 级:新手上路
帖 子:41
专家分:7
注 册:2017-10-13
得分:0 
回复 7楼 炎天
哦,我把参数和地址的位置搞反了。
但是改了还是出错,是不是不能间接对多级指针赋值
2017-10-28 10:50



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-481715-1-1.html




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

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