当前位置:首页>综合>正文

C语言怎么用printf输出字符串。 c语言中能不能用printf函数直接输出数组如printf(%d,a[3][3]);

2023-05-24 08:21:44 互联网 未知 综合

 C语言怎么用printf输出字符串。 c语言中能不能用printf函数直接输出数组如printf(%d,a[3][3]);

C语言怎么用printf输出字符串。

void main()
{
unsigned char *x = "ab,sdf,sad,23432,cc"
data = x

printf("data = %c ", *data)
printf("data = %s ", data)
system("pause")
}

扩展资料:
printf输出字符串的一些格式
1、原样输出字符串:printf("%s", str)
2、输出指定长度的字符串, 超长时不截断, 不足时右对齐:printf("%Ns", str)             
注:N 为指定长度的10进制数值
3、输出指定长度的字符串, 超长时不截断, 不足时左对齐:printf("%-Ns", str)   
注:N 为指定长度的10进制数值
4、输出指定长度的字符串, 超长时截断, 不足时右对齐:printf("%N.Ms", str)
注:N 为最终的字符串输出长度
M 为从参数字符串中取出的子串长度
5、输出指定长度的字符串, 超长时截断, 不足时左对齐是: printf("%-N.Ms", str) 
注:N 为最终的字符串输出长度
M 为从参数字符串中取出的子串长度
参考资料来源:printf-百度百科

c语言中能不能用printf函数直接输出数组?如printf("%d",a[3][3])

限制在C语言中,利用printf直接输出数组是不可以的。

但是你的做法是可以的。只是问题出在你数组使用越界了。
解释一下:
printf不能直接用来输出数组。
例如:

1
2
3
4
5
6
7
#include
intmain(){
inta[3]={1,2,3}
inti
for(i=0i<3i )
printf("%d",a)
}

是错误的
所以要是输出数组的话,必须要借助其他的语句输出,要一个一个地输出,例如for语句的循环输出。
例如:

1
2
3
4
5
6
7
#include
intmain(){
inta[3]={1,2,3}
inti
for(i=0i<3i )
printf("%d",a[i])
}

但是你这样的做法是可以:
因为你写的a[3][3]实际上已经指定了这个数字在这个二维数组中的横坐标和纵坐标,相当于一个int型的数据。但是不过你数组越界了。
额外引申一下:直接用scanf输入一个数组的量可以么?
#include
int main(){
char a[3]
scanf("%c",&a)
int i
for(i=0i<3i )
printf("%c",a[i])

这样输入3个字符,只能把输入的第一个字符放进a数组里面。因为a就是这个数组的地址,同时也表示这个数组的第一个。&a可以给数组的第一个放进一个字符,但是后面的就无能为力的。
代码均在Devc 测试。

c语言文件读取字符到一个字符数组

 #include   int main()   {   char string [256]   printf ("Insert your full address: ")   gets (string) //从键盘输入,存入string 字符数组中   printf ("Your address is: %s ",string)   return 0   }

字符数组的输入输出

int main()

{

char s[3]

int i= 0

for( i = 0 i < 3 i )

{

scanf("%c",&s[i])

}

printf("%c ",s[0])

return 0

}