字符数组
#include<stdio.h>int main()
{
char a;
int j=1;
a=(怎么输入?);
a='\0';
printf("%s",a);
return 0;
}
就是一个很简单的问题,怎么给a赋值让下面的printf("")输出1? #include <stdio.h>
int main(int argc, char *argv[]) {
char a;
int j=1;
a='1';
a='\0';
printf("%s\n",a);
return 0;
} #include<stdio.h>
int main()
{
char a;
int j=1;
//获取输入字符,然后赋值?
//我觉得应该不是楼上那么简单吧= =
char temp;
index = 0;
while((temp = getchar()) && index < 9)
{
a = temp;
}
a = '\0';
//a=(怎么输入?);
//a='\0';
printf("%s",a);
return 0;
} yuxijian2020 发表于 2021-4-11 18:35
我的意思是,哪里只能是j的表达式来赋值 wp231957 发表于 2021-4-11 18:09
不是这样的,我的意思是()哪里只能说j的表达式
哎,已经解决了,就是j+48 严凯 发表于 2021-4-11 19:14
不是这样的,我的意思是()哪里只能说j的表达式
int main(int argc, char *argv[]) {
char a;
int j=1;
a=j+'0';
a='\0';
printf("%s\n",a);
return 0;
} 严凯 发表于 2021-4-11 19:17
哎,已经解决了,就是j+48
没错,是j+48 原因是你想用%s来输出,但是%s输出的话是:字符串输出,会把数组中的每个元素转为字符类型的!
但是你的j定义的是整数类型的!
所以要想输出字符'1'-》就要+48->因为字符'1'的ASCII码就是49!
如下图:找到字符1,左边的是它的ASCII码
OK 完,希望说的有点用吧! #include <stdio.h>
#include <string.h>
int main()
{
char a;//目标字符串
int j;//字符串的长度
scanf("%s",a);//获取字符串
j=strlen(a);//字符串长度
a='\0';//添加结束符
printf("%s",a);//打印字符串
return 0;
}
希望我的答案对你有帮助
页:
[1]