Formato funcion sprintf

tema enviado por edu en C#
tema iniciado el 13/10/2008
Hola gente! os cuento mi duda. Dentro de un bucle for tengo un sprintf de la siguiente manera: sprintf (cadena, "Pepito %s", (i==0) ? a[k] : b[k]) Bien, mi duda es que (i==0) ? a[k] : b[k] es como si fuera una sentencia case?? es decir, si la i es 0 entonces %s vale a[k] y si es <> de 0 vale b[k]? He estado buscando por la red pero no he encontrado nada, muchas gracias de antemano