C/C++ no interpola valores en una cadena como lo hacen la mayoría de los lenguajes de secuencias de comandos. Tendrá que usar operaciones de cadena para construir la cadena de consulta, p. (en pseudocódigo):
str = "insert into mytable(id) values (" + arr[0] + ")";
en cambio. C no tiene forma alguna de saber que arr[0]
en esa cadena de consulta debe tratarse como una referencia de matriz, y no solo como texto sin formato que parece uno. Por lo tanto, tener que construir la cadena usted mismo.