为什么我这个程序运行没有结果

#include<stdio.h>
int main()
{

int a,b,min,i;
printf("请输入两个数字:");
scanf("%d",&a,&b);
if(a>b){
min=b;
}
else{
min=a;
}
for(i=min;i>0;i--){
if(a%i==0&&b%i==0){
printf("%d和%d的最大公约数为%d\n",a,b,i);

}
break;

}

return 0;
}

scanf("%d",&a,&b); 这里只读入了一个数,应改为:scanf("%d%d",&a,&b);

break放到if语句代码块中,你现在这样for只运行一次就结束了,自然啥也不输出

printf里面的%和变量的一一对应关系
scanf里面的%和变量以及变量前加不加&的一一对应关系
是C代码中非常容易出错的地方,而且通常编译还不出错。
所以在编译源代码之前值得专门仔细检查一遍甚至多遍。