【发布时间】:2013-04-14 17:47:02
【问题描述】:
我正在使用 Code::Blocks 浏览一些关于 C 的基本教程。
任何人都可以帮助我使用以下代码并提供一些解释吗?它会构建,但在运行时会崩溃。
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define MAX_LEN 40
main()
{
int pos;
char *line,*aster,*blank;
line=(char *)malloc(MAX_LEN);
aster=(char *)malloc(1);
blank=(char *)malloc(1);
line=" ";
aster="*";
blank="";
printf("Enter position of star (1-40): ");
scanf("%d",&pos);
if(pos>0&&pos<41)
{
printf("\n");
printf(" 1 2 3 4\n");
printf("1234567890123456789012345678901234567890\n");
puts(strcat(strncat(blank,line,pos-1),aster));
}
else
printf("Out of range");
}
问题似乎出在 strcat 代码行中,我猜是指针的使用?
【问题讨论】: