#include<iostream>
#include<math.h>
using namespace std;
int main()
{
char *bi;
bi="01010101";
int ten=0,i,j=7;
char bin[9];
for(i=0;i<8;i++)
{
bin[i]=*bi++;
if(bin[i]==1)
{
ten+=pow(2,j);
}
j--;
}
cout<<ten<<endl;
}
想知道怎么把數字賦值給*bi,我這樣寫bin[i]的值是字符'0'和'1'的ASCALL碼
還有就是為什么我把字串賦值給字符指標有如下警告,是不可以嗎?
[Warning] deprecated conversion from string constant to 'char*' [-Wwrite-strings]
uj5u.com熱心網友回復:
定義const char *bi;uj5u.com熱心網友回復:
定義了const 還是算ASCALL碼
uj5u.com熱心網友回復:
供參考:#include<iostream>
#include<math.h>
using namespace std;
int main()
{
char *bi;
bi="01010101";
int ten=0,i,j=7;
int bin[9]; //char bin[9];
for(i=0;i<8;i++)
{
bin[i]=*(bi++)-'0';
if(bin[i]==1)
{
ten+=pow(2,j);
}
j--;
}
cout<<ten<<endl;
}
uj5u.com熱心網友回復:
除了樓上的,還可以用if (bin[i] == '1')
uj5u.com熱心網友回復:
明白了謝謝,那把字串賦值給指標字符為什么會有警告,是不可以嗎uj5u.com熱心網友回復:
謝謝大佬~轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/277530.html
標籤:C++ 語言
