关于C语言中“在某个变量周围的堆栈已损坏”的问题

图片说明

写出的程序还是可以正常运行,但是在编译和运行的过程中会弹出如图片所示的窗口
代码如下:

 #include <stdio.h>
void copy_ptrs(double *ptrTar, double *ptrSour, double *ptrEndArr);
int main()
{
    double source[5] = { 1.1, 2.2, 3.3, 4.4, 5.5 };
    double target3[5];
    copy_ptrs(target3, source, source + 5);
    for (int i = 0; i < 5; i++)
    {
        printf("%.2f\t", target3[i]);
    }
}
void copy_ptrs(double *ptrTar, double *ptrSour, double *ptrEndArr)
{
    while (ptrTar != ptrEndArr)
    {
            *ptrTar = *ptrSour;
            ptrTar++;
            ptrSour++;
    }
}

while (ptrTar != ptrEndArr)
->
while (ptrSour != ptrEndArr)

图片说明

你这个copy_ptrs函数里面参数使用有问题,ptrTar是单独的一块内存,不该用这个指针进行判断,应该用Src指针

#include
#include
#include
int main()
{
int i,s=0,p;
char a[]="1100011.1111001.1111010.";
//gets(a);
int wight = sizeof(a);
for (i = 0, p = 6; i <= wight; i++)
{
if (a[i] != '.')
{
if (a[i] == '0')
{
a[i] = 0;
}
else a[i] = 1;
s = s +(int)( a[i]) * pow(2, p);
p=p-1;
}
else
{
printf("%d ", s);
s = 0;
p = 6;
}
}
return 0;
}************