用循环写冒泡排序,没找到问题

用循环写冒泡排序,这么写有什么不对的,第一次写代码,没找到问题。

#include "stdafx.h"
#include"Windows.h"

int _tmain(int argc, _TCHAR* argv[])
{
    int a;
    int b;
    int c;
    int d;
    int sum;
    sum=0;
    a=0;
    b=0;
    c=0;
    d=0;
    printf("请输入a的值");
    scanf("%d",&a);
    printf("请输入b的值");
    scanf("%d",&b);
    printf("请输入c的值");
    scanf("%d",&c);
    printf("请输入d的值");
    scanf("%d",&d);
    for(int i=1;i>0;i++)
    {
        if(asum=a;
            a=b;
            b=sum;
        if(bsum=b;
            b=c;
            c=sum;
        if(csum=c;
            c=d;
            d=sum;
        if(a>b&&b>c&&c>d)
            i=-1;
    }
    printf("a b c d 四个数从大到小排序为:%d,%d,%d,%d",a,b,c,d);
    Sleep(50000000);
    return 0;
}
我的解答思路和尝试过的方法

冒泡排序

我想要达到的结果:

冒泡排序,从小到大排序abcd

if下面三行都是if代码块,要用大括号括起来