C語言下面的程式為什麼不能執行

2022-10-08 06:36:44 字數 1076 閱讀 7248

1樓:匿名使用者

b是一個指標,*b是指標指向的位置。

b並未指向任何位置,但是你卻為他賦值,當然出錯。

char *b ;

新增如下**:char tmp;

b = &tmp;

*b = *a;

即可。這時候給*b賦值,就是給tmp賦值。

2樓:匿名使用者

char str=;

char *a,*b;

a=str;

b=a;

printf("%s %s",a,b);

這樣就對了。。。

3樓:嘉藍影月

#include

int main()

; 習慣上一般去掉大括號的,無所謂的char *a,*b;

a=str;

b=a; 給指標賦值應該是b=a;

printf("%s %s\n",a,b); //這裡應該是個地址,輸出的是地址不是值}

4樓:匿名使用者

a,b都是指標變數,儲存的是一個地址,必須要賦值,而 語句*b=*a是把a所指儲存單元的內容(即'm')賦值給b所指記憶體單元,而b沒有賦初值,是一個不確定的記憶體單元,這是非法的。

char str="my";

char *a,*b;

a=str;

b=a;

printf("%s %s",a,b);

這樣a,b都指向陣列str的首地址。另外%s是輸出字串,對應的必須是指標

5樓:匿名使用者

a = str; // 是對的,這是指標賦值。

*b = *a; //b沒有存放字元的空間,那麼*a的內容'm'放哪兒呢?

printf("%s %s",*a,*b); // 既然b是野指標,這裡輸出其內容就會出問題的,防病毒程式有可能以木馬侵擾的方式提示你清楚之。

6樓:匿名使用者

把*b = *a;改為

b=a;

下面程式的執行結果是,C語言 下面程式的執行結果是()

答案選d。strcat a,b 結果 a 為 ablmnp,b 為 lmnp。while a i 0 b i a i 一開始 i 等於 0,但在 while 的迴圈條件中將 i 自增,所以第一次進入迴圈體時 i 等於 1,於是就有了最終結果 lblmnp。c語言 下面程式的執行結果是 因為i 3 進...

C語言程式編寫沒錯誤但是不能執行

跟include之間別留空格,還有你建檔案的時候是否檢測成功,以及你使用的vc軟體是否正常。字尾名掉了或者寫錯了 你的檔名後面要加.c或者.cpp,注意c前面有個點 不過你得把你的電腦上的文明副檔名顯示出來這樣做才有效 或者新建c檔案 命名時一定要帶上.c 問下你有沒有建c檔案?為什麼我的c語言程式...

請解釋一下c語言下面的語句是什麼意思

宣告一個函式指標x,x指向一個返回值為int,形參為unsigned,unsigned,unsigned的函式 另外static修飾使得函式指標不能被外部檔案呼叫 c語言中,解釋一下a 什麼意思 這個來叫做 自增語句,a 是先賦值 源然後自身加 1 a 也是一個道理,就是使a 先增加 1在賦值相當於...