回覆列表
  • 1 # diezs43092

    %c在C語言中代表字元型格式符。%s在C語言中代表字串型格式符。%c和%s一般用在printf、sprintf等字串格式化函式中,用於決定格式化引數的資料型別。如printf("%s", a)會將變數a作為字串型別進行格式化。printf()函式是格式化輸出函式, 一般用於向標準輸出裝置按規定格式輸出資訊。printf()函式的呼叫格式為: printf("", )。格式輸出,它是c語言中產生格式化輸出的函式(在 stdio.h 中定義)。用於向終端(顯示器、控制檯等)輸出字元。格式控制由要輸出的文字和資料格式說明組成。要輸出的文字除了可以使用字母、數字、空格和一些數字符號以外,還可以使用一些跳脫字元表示特殊的含義。擴充套件資料:1、%d/i接受整數值並將它表示為有符號的十進位制整數,i是老式寫法2、%o無符號8進位制整數(不輸出字首0)3、%u無符號10進位制整數4、%x/X無符號16進位制整數,x對應的是abcdef,X對應的是ABCDEF(不輸出字首0x)5、%f(lf)單精度浮點數和雙精度浮點數用f(lf在C99開始加入標準,意思和f相同)6、%e/E科學計數法表示的數,此處"e"的大小寫代表在輸出時用的“e”的大小寫7、%g/G有效位數,如:%.8g表示單精度浮點數保留8位有效數字。8、%c字元型。可以把輸入的數字按照ASCII碼相應轉換為對應的字元9、%s/S字串。輸出字串中的字元直至字串中的空字元(字串以"\0‘結尾,這個"\0"即空字元)10、%p以16進位制形式輸出指標11、%n到此字元之前為止,一共輸出的字元個數,不輸出文字12、%%不進行轉換,輸出字元‘%’(百分號)本身13、%m列印errno值對應的出錯內容,(例:printf("%m\n");)

  • 2 # 何以笙丶丶

    兩個運算子擺放在一起。

    “=”是賦值運算子,“!”邏輯非運算子,邏輯運算子一般將其運算元視為條件表示式,返回結果為Bool型別:首先對其運算元求值,若結果為0,則條件為假(false),否則為真(true)

    優先順序上“!”先於“=”,int i;i=!5;

    1.根據運算子優先順序,!先於=

    2.首先5作為!的運算元,求值!5的結果是bool型的false

    3.然後false隱士轉換成int型,即0

    4.所以i裡面的值是整形0

    通常我們說話是加&表示“與”,比如Jake & Tom,C語言裡&較為基礎的一個使用就是“按位與”,它用在資料與資料之間進行運算(注意,它與【邏輯與】“&&”不同),比如十六進位制a=0x10&0x01=0x00,而邏輯與的結果則是a=0x10&&0x01=1(TRUE);

    第二個就是作為取地址符,這時候他用於資料的前面,比如int a=&b;

    C++裡還使用&作為引用符,如果你確認程式是標準的C而非C++的話,那麼可以排除是引用了。引用也用於資料前面,它只在定義和宣告時使用,如int &othername=name;

    int &a=b; //定義時使用在等號左側,是引用

    int *a=&b; //在等號右側,並單獨在資料之前,是取地址

    int a=(&b) & 0xffff; //第一個&是用於取b的記憶體中的地址,第二個&是按位與,即保留b地址值的低16位,高16位數值被清零(32位處理器下)。

  • 中秋節和大豐收的關聯?
  • 別克昂科威28T好還是20T好?