Unable to display the post thumbnail in the loop

the_post_thumbnail displays the post thumbnail. It generates HTML tag and echoes it. It does not echo only the URL to that image.

So this line:

<img src="https://wordpress.stackexchange.com/questions/324413/<?php the_post_thumbnail(); ?>"
         alt="<?php the_post_thumbnail_caption() ?>"/>

Generates something like this:

<img src="https://wordpress.stackexchange.com/questions/324413/<img src="" ... />"
         alt="..."/>

So it’s not a correct HTML.

I’d changed it to:

<div class="col-12 col-sm-4">
    <a href="https://wordpress.stackexchange.com/questions/324413/<?php the_permalink(); ?>">
        <?php the_post_thumbnail( 'post-thumbnail', array( 'alt' => get_the_post_thumbnail_caption() ) ); ?>
        <h3><?php the_title(); ?></h3>
    </a>
</div>