Well, you would probably access it in the associative array using 'count(*)' as an index. To figure this out, you could just do a [man]print_r/man on the $show array.
Alternatively, a more common practice is to assign an alias to this psuedo-column, like so:
$query = 'SELECT COUNT(*) AS `count` FROM `clips` WHERE `cat` = ' . $show['id'];
Now, you simply use the alias name as the key for your associative array. Since you're only retrieving one "row" and you're not looping through an entire result set, there's no need for a while() loop.
In fact, since there's only one column we're dealing with, there's no need to mess with arrays. Just use [man]mysql_result/man to retrieve the data and store it in a variable, like so:
$query = 'SELECT COUNT(*) FROM `clips` WHERE `cat` = ' . $show['id'];
$result = mysql_query($query) or die('MySQL error: ' . mysql_error());
$count = mysql_result($result, 0);
NOTE: I guess I should also mention the fact that the 'AS' keyword is optional, and you can simply follow up any column/pseudo-column with an alias, like so:
SELECT COUNT(*) `count`, `column1`, `etc` FROM `clips` ...