c语言求素数个数和素数,只能输出最后一个数

问题遇到的现象和发生背景

只能输出最后一个数b

问题相关代码,请勿粘贴截图
#include 
#include 

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[]) {
    int a,b,i,j,k;
    k = 0;
    scanf("%d %d",&a,&b);
    for(i=a;i<=b;i++){
    for(j=2;j<=i;j++){
        if(i%j==0){
        break;
        }
        else{
        k++;
        }
    }if(i==k){
        printf("%d",i);
    }
    }
    return 0;
}

修改如下,供参考:

#include <stdio.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char* argv[]) {
    int a, b, i, j, k;
    k = 0;
    scanf("%d %d", &a, &b);
    for (i = a; i <= b; i++) {
        for (j = 2; j < i; j++) {  //for (j = 2; j <= i; j++) 修改
            if (i % j == 0) {
                break;
            }
            //else {  修改
            //    k++;
            //}
        }
        if (i == j) {  //if(i==k) 修改
            printf("%d ", i);
            k++;     //修改
        }
    }
    printf("\n数%d--%d之间共有素数:%d", a, b, k); //修改
    return 0;
}

for(j=2;j<i;j++)
{
    if(i%j==0)
        break;
}
if(j==i)
    printf("%d ",i);

你很奇怪的加了一个k变量,实在不知道要干啥