C: для цикла int начальное объявление

сначала установите драйвер

pip install MySQL-python   

Затем базовый код будет выглядеть следующим образом:

#!/usr/bin/python
import MySQLdb

try:
    db = MySQLdb.connect(host="localhost",      # db server, can be a remote one 
                     db="mydb"                  # database
                     user="mydb",               # username
                     passwd="mydb123",          # password for this username
                     )        

    # Create a Cursor object
    cur = db.cursor()

    # Create a query string. It can contain variables
    query_string = "SELECT * FROM MY_TABLE"

    # Execute the query
    cur.execute(query_string)

    # Get all the rows present the database
    for each_row in cur.fetchall():
        print each_row

    # Close the connection
    db.close()
except Exception, e:
    print 'Error ', e 
40
задан Mark Amery 18 December 2016 в 18:17
поделиться

2 ответа

for (int i = 0; ...) 

- это синтаксис, который был введен в C99. Чтобы использовать его, вы должны включить режим C99, передав -std = c99 (или более поздний стандарт) в GCC. Версия для C89:

int i;
for (i = 0; ...)

EDIT

Исторически сложилось так, что язык C всегда заставлял программистов объявлять все переменные в начале блока. Так что-то вроде:

{
   printf("%d", 42); 
   int c = 43;  /* <--- compile time error */

необходимо переписать как:

{
   int c = 43;
   printf("%d", 42);

блок определяется как:

block := '{' declarations statements '}'

C99, C ++, C # и Java разрешают объявление переменных в любом месте блока.

Настоящая причина (предположение) заключается в выделении внутреннего структуры (например, вычисление размера стека) как можно скорее при синтаксическом анализе исходного кода C, без перехода на другой проход компилятора.

82
ответ дан 26 November 2019 в 22:44
поделиться

До C99 вам приходилось определять локальные переменные в начале блока. C99 импортировал функцию C ++, которая позволяет смешивать определения локальных переменных с инструкциями, и вы можете определять переменные в для и , а управляющие выражения.

14
ответ дан 26 November 2019 в 22:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: