⑴ c語言中 為什麼char*sp;*sp="right!";是錯的,而 char*sp="right
char* sp; //定義一個字元型的指針sp.
*sp = "right!"; //*sp取sp指針指向數據的第一個字元,將一個字元串賦給字元,所以錯誤.
char* sp = "right!"; //定義一個字元指針,將一個字元串賦給一個字元指針,所以沒有問題.
char表示定義的是一個字元變數.
char*表示定義的是一個字元指針變數.
⑵ 求C語言專家,char*ss[6];ss[1]=「right」;這種定義方式應該是錯的,錯在哪裡
這種定義是沒有錯的,我估計是你的分號和引號錯了。應該用英文符的分號和引號。
ss是你定義的一個指向字元的指針數組。而ss[1]是這些指針數組中的一個。你把字元串常量「right?」的指針賦給了ss[1]。
ss[0]、ss[1]、ss[2]、ss[3]、ss[4]、ss[5]都是指針。
⑶ 幫忙解釋一下c語言里的<< >>英文叫left shift ,right shift,先告訴我他存
<<是左移
>>是右移
位運算。
大部分時候,左移幾位,就是數值做幾次方,右移幾位,就是對2的幾次方做整除
具體的你查閱一下c語言課本中的位運算那一章,需要配合整型數據在內存中的存儲形式,說白了就是原碼反碼補碼這一塊的內容查閱
⑷ c語言 while(!flag &&left<right)什麼意思
while(!flag &&left<right)=while(flag==0&&left<right)
這下你知道了吧。就是判斷flage是否等於0並且left是否小於right,如果兩者都成立那麼就循環。
⑸ C語言right再用在前面ELSE
21 依次讀入字元,到?退出。 於是c依次為right
輸出為++c,即先自加 再輸出。 於是輸出就是
sjhiu
22 這里根本沒有體現出前n項出來。
但從代碼上看,要輸出能被4整除的
那這里就是if(sum%4==0)
填
(sum%4==0)
23 初始 j=1
s=3
第一次循環
s+=j++ -> s=3+1=4
j自加為2
判斷s%7==0不成立
執行++j, j=3
判斷s<15成立 繼續循環。
第二次循環
s+=j++ -> s=4+3=7
j自加為4
判斷s%7==0成立
執行continue
判斷s<15成立 繼續循環。
第三次循環
s+=j++ -> s=7+4=11
j自加為5
判斷s%7==0不成立
執行++j, j=6
判斷s<15成立 繼續循環。
第四次循環
s+=j++ -> s=11+6=17
j自加為7
判斷s%7==0不成立
執行++j, j=8
判斷s<15不成立 退出循環。
輸出j值 為8
⑹ C語言問題,求高手指教編程中的left<=right是什麼意思
這個程序是想隨便輸一個數,然後在數組中找到它,而且顯示他的下標,程序開始定義的數組是按從小到大的順序的,所以就定義了一個left=0(指向第一個元素的下標),right=9(指向最後一個元素的下標),開始一個if語句就是判斷,你輸入的數是否超出了數組里元素數值的范圍,如果沒有超出,進入while循環,flag是個布爾類型的,開始被賦值為0,!flag是取反就是為真,left<=right是判斷我找數的時候,是不是找到了數組的末尾,因為循環體裡面是從數組里的中間值開始比對的,它會不斷改變left,或者right的值,如果一直沒找到數,left和right就會不斷的靠攏,如果等left>right時還沒找到要找的數,那說明數組里就沒有你要找的數.
⑺ C語言中,定義char *SS[6]後 請各位高手解釋一下ss[1]="right"這種賦值方法的原理
char *ss[6]聲明了一個指針數組,數組有個6個元素,即有六個char *指針,ss[0], ss[1], ss[2]......;
ss[1] = 「right」,表示這個指針數組的第二個元素指向常量字元串"right"的首地址。
#include "stdio.h"
int main(){
char *ss[6];
ss[0] = "hello";
ss[1] = "right";
printf("%s\n",ss[0]); //輸出hello
printf("%s\n",ss[1]);//輸出right
return 0;
}
⑻ C語言中,各位高手能解釋下char *ss[]={"right"}是如何賦值的嗎
*ss[0]="right",數組每個元素都是一個char型指針,並且指向一個字元串,ss[0]初始化為"right",其他幾個元素是否初始化要由編譯器而定。
⑼ 在c語言中left&right為什麼是非法的
你用的是位與運算符,也就是我們常說的並且 ,他不是或者,或者用&&,所以是錯誤的
⑽ char ss()[20]={ "right"};是什麼意思
char ss()[20]={ "right?"};這條語句應該是char ss[ ][20]={ "right?"};的誤寫。
這條語句上機調試是出錯的。 從字面看ss是一個函數的數組,而C語言中並無函數數組。 由此推斷,這是一句以訛傳訛的誤寫。我在某版教材中也看到過這個題。