這個c語言自定義函式的我沒看懂不知道ij都代表

時間 2021-08-11 18:12:30

1樓:匿名使用者

用迴圈去掉str中所有為ch的字元,程式中有點錯,不是srt[i]!=ch,而是str[i]!=ch

2樓:匿名使用者

str[i]!='\0'是判斷句 表示如果i的值不等於字元\0,那麼i++.

str[j++]=str[i]; 代表把i的值賦給str[j+1]

3樓:匿名使用者

字串str和字元ch都是函式的接收引數,i、j是計數器初始為0,迴圈條件是str陣列不結束('\0'是字串的結束標誌),每迴圈一次i遞增1,也就是看字串的下一個字元,當它不是ch的時候,就進行賦值。我認為這當中srt和srr打錯了,或者有語句缺漏,任何變數都是不能不宣告就使用的。

4樓:

int i,j;

定義i,j為整型資料,在for 迴圈i=j=0裡面設定其初始值為0;

str[i]!='\0' 如果沒有到字串結尾下面if再判讀str的第i個字元是否等於ch,如果不等於就把str的第i個字元賦值給str的第j++ 個字元否則就把str的第0個字元賦值為'\0'即字元結尾。

作用:發現字串中如果含有指定字元就從截斷enter_string("abc",'a')結果就是abc字串就成了空白了。

enter_string("abc",'b')結果就是abc字串就成了a。

c語言中 while ((str[i]=getchar())!='\n')沒用

5樓:匿名使用者

1、要先輸入bai

字串,再du輸入字元。

2、i對應各個zhi字元,daostr[i]='\0'就把最後一個字元去掉內了,如果恰恰是要找的字容符怎麼辦?

3、index=i了,那麼,idex還怎麼等於i+1?

邏輯錯誤太多,程式混亂,不是換某個字元就能解決問題的,是巧合倒有可能。

6樓:匿名使用者

答: while ((str[i]=getchar())!du='\n') 中(str[i]=getchar()) 的作用是取得 getchar() 函式的

zhi返回值,並非為字

dao符回陣列 str[80]賦值,而函式 getchar() 的返回值是int型別,答

所以用字元陣列取得返回值本身就是錯誤的。

7樓:丿艾瑞灬莉婭

#include

int main()

}if(str[i]=='\0')

printf("not found!\n");

return 0;}

c語言:while(str[i]!='\0')和while(str[i])的區別是什麼?

8樓:匿名使用者

如果str是一個字串陣列的話,while(str[i]!='\0')和while(str[i])都能表示為,迴圈到字串結束位置停止迴圈。

9樓:匿名使用者

while迴圈的條件是while後的邏輯表示式的值不為0,知道這個以後,還要知道在c語言中字元與它的asc碼是可以互用的。然後你自己就可以判斷了。

10樓:匿名使用者

沒有區別的,效果一模一樣的

c語言字元轉換這句話是什麼意思?if(str[i]<='9'&&str[i]>='0') str[i]='z'-str[i]+'0';

11樓:浪子漂浮

gets(str) 把你輸入的值給copy str[i];

if(str[i]<='9'&&str[i]>='0') 表示你輸你輸入的值大於等於0 並且小於等於9之間 的話那麼就執行下面這條

str[i]='z'-str[i]+'0'; 把用z字元減去你輸入的字字元然後加0字元

puts(str);這個時候就把上面那個字元輸出;

其實結果就是當你輸入0到9時候, 結果就輸出z、y ,x、w,,,,,,,,,,一一對應

12樓:一顆程式猿

將輸入的字串中的數字轉換成字字母, 0對應z, 1對應y, 2 對應x, 3對應w, 依次類推

c語言中str是什麼意思

13樓:假面

str -- 通常,程式設計師喜歡用它作字串變數名。它是 string(英文詞、字串的縮寫)

str函式,返回代表一數值的 variant(string)。語法str(number)必要的 number 引數為一 long,其中可包含任何有效的數值表示式。說明當一數字轉成字串時,總會在前頭保留一空位來表示正負。

14樓:天雲一號

str只是編寫程式的人員定義的一個變數,常用來表示字元型變數或字串,取string的前三個字母。

如:char str='a';       // 定義一個字元變數str,存放一個字元'a'

char str="abcd";  // 定義一個字元變數str,存放字串"abcd"

15樓:壬幻翠闕萌

指標偏移的意思。如指標變數str是首地址,str+1就是他的下一個地址,即第二地址。依此類推,str+4就是第五個地址。

有一點你要知道,假如定義一個陣列a[5],這個陣列有5個元素,這5個元素的儲存單元是連續的,首地址為a,相當於&a[0]。

16樓:楊曉夏蒼飛

你的str應該是一個指標吧,如果str指向a陣列,str指向陣列的第一個元素,也就是a[0]

str+4也就是指向陣列的第五個元素,也就是a[5],

所以*(str+4)就是取a[5]的值,不知你明白了沒!!

17樓:裴玉巧單未

如果str定義為指標str+3表示str的地址處加3處的地址;

如果str定義為非指標如整形變數,則表示str數值加3

18樓:浮淑蘭空畫

str+3

需要分如下2種情況進行分析:

1、當str是數值型別的時候(如int、float、double等)str+3就表示數值的加法,如:

int str=2;

int b = str+3; // b的值就是2+3=52、當str是指標或陣列名時候(如char*p、str[5]等)

str+3就表示對地址的操作,如:

char str[5] = ; // 定義char型陣列並初始化char *p; // 定義char型指標p = str+3; // 將指標p指向str陣列中第4個元素(下標從0開始)的地址

printf("%c", *p); // 輸出字元'd'

19樓:聞樂賢燕顏

比如*str

=「abcdefg」;

str指向字串abcdefg的首地址,如果其為0x40300,那麼*str指向a。

str+4=0x40304,*(str+4)指向e;

20樓:我媳婦兒吃可耐長大的

string的縮寫,字串

c語言中自定義函式的用法,C語言中,自定義函式的用法。

c語言中,每個函式都有返回值型別。可以是void,int,double,等,也可以是struct型別。在返回值是void型別的函式中,return一般在最後一行,後面不加任何值,而且此時return可以省略。如 void printresult int n 並不是return必須放在最後一行。只要達...

c語言自定義函式返回陣列的問題,C語言自定義函式返回一個陣列的問題

雙槍老椰子 方法1 利用全域性變數 分析 全域性變數作為c語言的一個知識點,雖然我們都瞭解它的特點,但在實際教學過程中應用得並不是很多。由於全域性變數的作用域是從定義變數開始直到程式結束,而對於編寫有多個返回值的c語言函式,我們可以考慮把要返回的多個值定義成全域性變數。當函式被呼叫時,全域性變數被更...

C語言中能否在自定義函式中呼叫另自定義函式

風若遠去何人留 可以呼叫。c語言最基本的模組為函式,任意函式都可以呼叫其它任意一個函式,包括函式本身。1 自定義函式呼叫其它自定義函式的例子 include void fun1 int a 自定義函式fun1。void fun2 int m,int n 自定義函式fun2。int main 在這個例...