我正在创建一个简单的c程序,下面的程序输出应该是2但我得到50不知道为什么(我是c的新手)请让我知道我在哪里失踪
#include<stdio.h>
int main(int argc, char** argv) {
int a[4]={'1','2','2','\0'};
printf("The value of a is %d",a[1]);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
您使用ascii字符代码初始化了数组. '2'整数值为50.
将数组初始化为
int a[4]={1,2,2,0};
Run Code Online (Sandbox Code Playgroud)
如果你想要它包含整数1,2,2,0.要么
#include<stdio.h>
int main(int argc, char** argv) {
char a[4]="121";
printf("The value of a is %c",a[1]);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
如果你想要一个可以被视为字符串的字符数组.(注意这里使用%c格式说明符.)