當前位置:首頁 » 編程語言 » c語言編譯括弧報錯
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言編譯括弧報錯

發布時間: 2022-05-21 10:32:05

『壹』 c語言在最後一個括弧報錯

你好!!
你是在MFC的方式下建立的 02.cpp 文件嗎
你試試下面的方法吧:
方法1:右鍵單擊項目工程中的cpp文件,在菜單Project->Settings->C/C++->Precompile Header,
設置為第一項:Not using precompile headers。
方法2:在.cpp文件開頭添加包含文件 #include"stdafx.h"

『貳』 c語言編程時出現括弧的錯誤是什麼原因

有2大可能:
1、括弧不配對,就是左右括弧不等
2、在中文狀態下輸入括弧。

『叄』 c語言錯誤:expected '{' at end of input

錯誤原因:

1、某一個函數或者變數沒有在使用之前聲明。

2、某個地方少了個括弧。(並不一定是編譯器指出錯誤的地方,這種情況,編譯器一般會在最後一行代碼報錯,但錯誤很可能不在最後一行,要靠自己去找出來)

解決方法:

結尾處應當expected '}' 或者報 unexpected '{'.

但無論怎樣,是說花括弧的配對有問題。
可以用添加 /* 和 添加 */ 的 方法,把某些程序塊 註解 出去,檢查余留部分,看哪裡多了或少了花括弧。

頭文件部分也要查,有些頭由於宏配對問題會造成花括配對錯。

(3)c語言編譯括弧報錯擴展閱讀:

注意事項

pthread_cleanup_push()帶有一個"{",而pthread_cleanup_pop()帶有一個"}",因此這兩個函數必須成對出現,且必須位於程序的同一級別的代碼段中才能通過編譯。在下面的例子里,當線程在"do some work"中終止時,將主動調用pthread_mutex_unlock(mut),以完成解鎖動作。

work"中終止時,將主動調用pthread_mutex_unlock(mut),以完成解鎖動作。

pthread_cleanup_push(pthread_mutex_unlock, (void *) &mut);

pthread_mutex_lock(&mut);

/* do some work */

pthread_mutex_unlock(&mut);

pthread_cleanup_pop(0);

必須要注意的是,如果線程處於PTHREAD_CANCEL_ASYNCHRONOUS狀態,上述代碼段就有可能出錯,因為CANCEL事件有可能在pthread_cleanup_push()和pthread_mutex_lock()之間發生,或者在pthread_mutex_unlock()和pthread_cleanup_pop()之間發生,從而導致清理函數unlock一個並沒有加鎖的mutex變數,造成錯誤。

因此,在使用清理函數的時候,都應該暫時設置成PTHREAD_CANCEL_DEFERRED模式。

『肆』 c語言括弧報錯是什麼原因呢

你的報錯有點模糊,不過看出來好像是printf()沒有被declare。
要main函數之前加上#include <stdio.h>,因為printf()函數沒有被定義在<windows.h>中。

『伍』 c語言 大括弧問題

在C中,使用大括弧的方法無所謂對還是錯——只要每個開括弧後都有一個閉括弧,程序中就不再會出現與大括弧有關的問題。然而,有三種著名的大括弧格式經常被使用:
Kernighan和Ritchie,Allman,Whitesmiths。下文中將討論這三種格式。

在《C程序設計語言(The C Programming Language)》一書中,Brian Kernighan和Dennis Ritchie介紹了所使用的大括弧格式,這種格式如下所示:
if (argc<3) {
printf (" Error! Not enough arguments. Correct usage is ..\n" ) ;
printf("c:>eopyfile <source_file> <destination_file>\n") ;
exit (1) ;
}
else {
open_files () ;
while (! feof(infile)) {
read_data ( ) ;
write_data() ;
}
close files() ;
}

注意,在Kb&R格式中,開括弧總是與使用它的語句在同一行上,而閉括弧總是在它所關閉的語句的下一行上,並且與該語句對齊。例如,在上例中,if語句的開括弧和它在同一行上,if語句的閉括弧在它的下一行上,並且與它對齊。在與if語句對應的else條件語句以及出現在程序段後部的while語句中,情況也是這樣的。

下面是用Allman格式書寫的同一個例子:
if (argc<3)
{
printf("Error! Not enough arguments. Correct usage is :\n" ) ;
printf("C:>file <source_file> <destination_file>\n") ;
exit(1);
}
else
{
open_files ( );
while (! feof(infile))
{
read_data ( ) ;
write data();
}
close_files() ;
}
注意,在Allman格式中,每個大括弧都單獨成行,並且開括弧和閉括弧都與使用的語句對齊。

下面是用Whitesmiths格式書寫的同一個例子:
if (argc<3)
{
printf("Error! Not enough arguments, Correct usage is :\n" );
printf ("C :> file<source_file><destination_file>\n." ) ;
exit(1);
}
else
{
open files () ;
while (! feof(infile))
{
read_data() ;
write data();
}
close files () ;
}
與Allman格式相同,Whitesmiths格式也要求大括弧單獨成行,但是要和所包含的語句對齊。例如,在上例中,if語句的開括弧是與第一個printf()函數調用對齊的。

不管使用哪一種格式,一定要保持前後一致——這將有助於自己或其它人更方便地讀程序。

『陸』 關於c語言編譯提示錯誤C2061和C2059

這兩個是VC的編譯錯誤,其中Cxxxx的四位數字為錯誤號。具體如下:
1 C2061:
英文版錯誤描述為:
error C2061: syntax error : identifier 'XXXX'
其中XXXX為具體出錯的標識符。
出現這個錯誤,需要到出錯行檢查提示錯誤的變數。
一般有三種可能:
a. 變數未定義;
b. 變數名打錯了,比如Str打成了str一類的拼寫錯誤;
c.變數作用域不對。在超出定義變數作用域。

2 C2059:
英文版錯誤描述為:
error C2059: syntax error : 'XXX'

其中XXX為具體出錯的標識符。
出現這個錯誤,需要到出錯行檢查提示錯誤的符號。
一般是打錯符號了,比如多寫符號,少些符號,多餘的括弧等等。

另外,當出現錯誤時,可以通過雙擊VC錯誤窗口的對應描述行,代碼窗口就會自動跳轉到出錯行,有助於快速定位及解決問題。

『柒』 用Dev C++來編寫C語言時,return寫在大括弧裡面會報錯,寫大括弧在外面不會。這是怎麼回事

不僅是因為return 0報錯的,putchar(cChar)沒加分號,而且我復制了一下你的程序到c++運行界面,裡面的括弧和分號有問題啊,不能用中文狀態下的符號,return 0還是該放括弧裡面的。
你試一下:
#include<stdio.h>
int main ()
{char cChar;
cChar='@';
putchar(cChar);
putchar('\n');
return 0;
}