1樓:天然浮誇
這個函式是一個字元一個字元判斷的
所以前面的abcdefg都列印出來了,但是當判斷到'#'的時候while裡面條件不滿足,所以跳出了迴圈,程式就結束了
2樓:ai看雪
getchar()每次只在緩衝區讀取一個字元,雖然你一次輸入了那麼多,但是getchar()並不會全部讀完,如果 '#' 放在第一個字元,應該是可以輸出的
3樓:匿名使用者
輸入#號就退出while迴圈了
c語言合法識別符號的問題,我寫的程式為什麼不對啊,麻煩幫忙看一下,謝謝,我找不出錯誤,但是執行不對。
4樓:略懂c語言
判斷語句是if (p==st-1)而不是st-2,另外p值應該在每次迴圈開始時重置為0,不然會一直自增。沒幫你除錯,不知道還有沒有其他問題,你先按上面兩點改改。
樓下好眼力,竟然能看到p是個指標。。。。
5樓:匿名使用者
p++; 有錯。這個指標根本就沒有初始化。
根據你的題意,也用不著它。給你如下**:
if((a[i]>='a'&&a[i]<='z')||(a[i]>='0'&&a[i]<='9')||(a[i]>='a'&&a[i]<='z')||a[i]=='_')
else
break;
.....
if(i ==st+1)
printf("yes\n");
else
printf("no\n");
按照上面的**修改後,再試試吧。
c語言問題,這個程式看不明白,誰能解釋一下 謝謝
6樓:聽聽—那冷雨
就一個遞迴呼叫呀。
就是返回的是c的值 一直遞迴到最裡層 c = 10也就是age(0)返回值是10 然後是age(0)+2 返回12 就是age(1)的返回值以此類推
age 5
c = age 4 +2
c = age 3 +2
c = age 2 +2
c = age 1 +2
c= 10
然後再返回c的值 由下向上累加
c = 10
c = 12
c = 14
c = 16
c = 18
c = 20
7樓:匿名使用者
age(n) //定義了一個age()函式,用了遞迴的方法
int n; //定義了一個整形變數n
main()
8樓:
#include
int age(int n)
/*int n;*/
void main()
這個就是一直呼叫
age()函式知道n==1
前面呼叫了四次 就是4x2+10(n==1時c的值,就是18)f(n)=10+(n-1)*2
9樓:匿名使用者
這是一個遞迴程式,就是求10+2+2+2+...+=10+2(n-1)的值
例如,如果n=5,那麼結果c=age(4)+2=(age(3)+2)+2=(age(2)+2)+2+2=(age(1)+2)+2+2+2=(10+2)+2+2+2=10+4*2=18
c語言這個地方有點不理解請幫幫忙吧謝謝
printf s n chars 會輸出陣列首地址開頭的字母,直到遇到 0 但該陣列的第五個字母 o 後面 就是0,所以只輸出hello 如果把10改成5,則會輸出hello等更多字母,直到遇到 0 或者訪問了系統的內 存,造成段錯誤 printf d n chars 輸出該一維陣列的首地址prin...
麻煩幫我看一下我的c語言找鞍點程式
額,我是樓上的281754179。還是第一次發現回答修改有上限的,orz。為方便樓主檢視,就用另一個號回答吧 已幫你找出錯了,正在幫你優化優化 等等哈 改錯 用註釋標出來的 include void main 你的演算法只能找出陣列中一個鞍點,例如對於全部元素相等的陣列也只能輸出第一個鞍點,對於這個...
c語言大家幫忙看一下這個程式哪出問題了
1全部第一個 scanf 函式 中的 格式控制中 你打 空格了所以 你確認 你輸入的 時候 有沒有打空格。一般格式符 必須一致第二個 你 的 判斷 不對,你想一想 如果 a是最小的 數 怎麼辦?根本 沒有 判斷。直接輸出了 判斷的邏輯有一點問題,不清晰。可以使用一下 include int main...