亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

我試著將題目跑了一下,有一點問題

#include <stdio.h>

int main()

{

int a = 3;

int b = 4;

char result;?

result = a + b % a - b / a + a * b - a ++;

printf("%d\n",result);

printf("a = %d\n",a);

return 0;

}

這是正常跑的,輸出也是正常答案。

#include <stdio.h>

int main()

{

int a = 3;

int b = 4;

char result;?

result = a + b % a - b / a + a * b - a ++;

printf("result\n");

printf("a = %d\n",a);

return 0;

}

為何這個輸出的是 ?result

? ? ? ? ? ? ? ? ? ? ? ? ? ? a = 4

printf()中間輸出的有什么規定么

正在回答

2 回答

怎么答不對問??printf是格式化輸出函數 你上面說輸出正常的代碼 確定正常嗎 我表示懷疑 看代碼你會了解的

#include?<stdio.h>

int?main()

{

int?a=3;
int?b=4;

printf("a?=?%d;b=%d\n",a,b);//輸出a?=?3;b=4
printf("a?=?;b=\n");//輸出?a?=?;b=
printf("result\n");//輸出result

/*
第一個%d表示整形變量a的值
第二個%d表示整形變量b的值
如果后面還跟個%f什么的?那么后面跟在b變量后面就是浮點型變量了
都是一一對應的
printf("result\n")沒有相關替代符,后面參數也沒跟上變量或值所以直接當字符串輸出

還有你第一遍說運行正常里面的代碼?char?result?應該是int?result?定義成整形變量而不是字符型?學c?數據類型千萬別弄錯
至于你為什么不出錯我也奇怪可能是對數值型字符型變量要求不嚴格?直接當成整形了?我也是新手?忘大牛解釋為什么不出錯

*/
return?0;

}


0 回復 有任何疑惑可以回復我~

在給一個變量賦值的時候使用++a或者 a++ 在此表達式后都會為a的值加1,(區別在于在賦值的時候是否計算a++或者++a的值)

printf是直接輸出括號里的內容的,result當然會輸出。a=4,你使用了表達式當然會輸出a=4.明白嗎?

0 回復 有任何疑惑可以回復我~
#1

彡夏

補充: result = a + b % a - b / a + a * b - a ++; a的值從上面表達式a++發生改變a=a+1.
2015-05-27 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
C語言入門
  • 參與學習       926904    人
  • 解答問題       21532    個

C語言入門視頻教程,帶你進入編程世界的必修課-C語言

進入課程

我試著將題目跑了一下,有一點問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號