C語言總是出現賦值無法轉換問題,大家幫我看下

時間 2022-06-04 19:55:04

1樓:匿名使用者

不是同一型別的指標,當然報錯了。 p是指向字元變數的指標,&str[0]這是整型的指標。

看你程式的意思你沒必要定義str[20],直接用string不就好了,p = string。

按你現在寫的這種傳個字串進去,到最後還沒用到。。

2樓:

int palindrome(char *string)

傳入string你都不使用,還去重新定義一個int str[20];型別還不一樣。str都沒賦值過,也沒輸入過,拿來做什麼用呢?你應該使用傳入的string,是否int palindrome(char *str)就是了?

然後去掉str[20]的定義。

注意,你後面迴圈中判斷語句是=賦值語句,確定不是==判斷語句?

3樓:

型別不一樣嘛,一個是char型指標,一個是int型指標。非要轉,強制轉換就可以了。p = (char *)(&str[0]); 我對操作符優先順序不是很清楚,所以喜歡多用括號。

4樓:匿名使用者

p= (char*)&str[0];

改成這樣即可

指標也是有型別的,需要轉換一下

str 那個是int的陣列

5樓:匿名使用者

p=(char*)&str[0]; //強制型別轉換

一個c語言的簡單問題,c的賦值總是不成功,大家給看看怎麼回事啊?

6樓:匿名使用者

浮點數儲存問題,對於不是2的負n次方的和可以表示的小數都無法在計算機當中精確表示。12.5的小數部分是0.

5=0.5*1,即2的負1次方,是可以精確儲存的,像0.125=0.

5*0+0.25*0+0.125*1或0.

625=0.5*1+0.25*0+0.

125*1。像0.3永遠無法用2的負n次方的和的精確表示,所以只能取近似值。

7樓:匿名使用者

計算機內部的二進位制對於某些小數不能精確表示,就像10進位制不能精確表示小數一樣

8樓:匿名使用者

這是精度問題,不用擔心的。

一個c語言程式老是有一個錯誤,大家幫我看下

9樓:匿名使用者

你好!!

scanf("%d",&i);

原來的 i 的大寫,改成小寫

s=0.1*i;

原來的 s 的大寫,改成小寫

printf("獎金是%10.2lf\n",s);

scanf 改成 printf

%10.2f  改成 %10.2lf

修改的地方,紅圈標註了

完整的**!

#include

int main()

10樓:好嘞啊啊啊啊

#include

int main()

請大家幫我看看這段c語言**哪兒出現問題了

11樓:

# include

int main (void)

printf ("還想繼續進行操作麼?(1/2):\n");

scanf (" %d", &k);

}while(1 == k);

return 0;

}不太明白你為什麼寫scanf_s,輸入的話用 scanf

12樓:匿名使用者

scanf_s不是標準輸入函式, 改為scanf

求大家幫我看一下這個c語言程式為什麼執行不了?存在的問題是什麼,通過棧實現進位制轉換

13樓:

說了c語言啊。你用cpp儲存幹嘛啊。cpp是c++的檔案啊

c語言檔案是.c

14樓:普洛智應

沒有sqstack的實現,光從這段**很難說啊。。。

c語言總是遇到這類「=」無法從。。。到。。。問題,大家幫我看下你這個題目到底**不對

15樓:匿名使用者

你的演算法有問題。

而你抱錯是由於p是char型,而str是int型,無法轉換。

同時str這裡沒有用。

修改後:

#include

int palindrome(char *p)for(i=0;i

}return 1;

}void main()

16樓:

int ispalindrome(char *str)

return 1;}

17樓:匿名使用者

if(*(p+i)=*(p+(k-(i+1))))

改成if(*(p+i)==*(p+(k-(i+1))))

c語言的賦值問題,C語言指標的賦值問題

上面的說法中,都存在錯誤或不足.1.首先 c a b 的意義是把 a 和 b 這兩個變數的內容 5 和 6 相加得 11,再把 11 這個結果值傳送至 變數 c 所在的儲存單元儲存起來 而不是你想像的 將 a 和 b 這兩個變數組合為一個變數作為 c,或者複製一份變數組合再作為 c.當你用int a...

c語言判斷直接賦值問題,C語言 判斷直接賦值問題

首先判斷y是否大於z,若大於,則執行 x 2這個語句,並把x 2的值賦給x 若小於,則先執行x 2,然後將x 2的值賦給x,然後執行逗號表示式,得到的值為2 最後一個,但對結果沒有影響,由於 的優先順序要大於逗號表示式的優先順序,所以語句會先賦值,然後進行逗號執行 先執行 y z 如果是真,則執行x...

C語言中強制轉換的問題,C語言強制型別轉換問題

巧 float x 你是定義的單精度型,int i 定義的是整型。i int x 是將x強制轉換成整型。整型整型,就是要整數部分,小數部分就會捨去掉。printf x f,i d n x,i 輸出時,x是以百分號f輸出,那麼就不是以整型輸出。在整數後面就會跟六位小數部分,沒有值的位數會以0補上。就像...