黑马程序员技术交流社区

标题: 关于scarf的疑问 [打印本页]

作者: 瑜尚    时间: 2016-7-19 18:03
标题: 关于scarf的疑问
1)
     int main (){
     char str[50]="adfsadfsad";
     scant("%s",str);
     printf("%s",str);
     return 0;
}
2)
     int main (){
     int  str[50];
     scant("%d",&str[0]);
     printf("%d",str[0]);
     return 0;
}
为什么scarf在这两种数组里面的书写格式不一样呢
作者: 李江波    时间: 2016-7-20 11:24
第一个是字符串,第二个是一维数组,第一个可以输入50个字符之内,第二个只是数组第一个数字
作者: 18222929637    时间: 2016-7-20 20:47
其实很好理解的,c语言中字符数组可以单个输入与输出,用%c或者它的ascll码%d,也可以用字符串的形式输入输出,因为是通过首地址来存储和输出的,只要没遇到\0就一直往后打印。
作者: 瑜尚    时间: 2016-7-20 21:13
18222929637 发表于 2016-7-20 20:47
其实很好理解的,c语言中字符数组可以单个输入与输出,用%c或者它的ascll码%d,也可以用字符串的形式输入 ...

谢谢你的回复,很有帮助
作者: 瑜尚    时间: 2016-7-20 21:15
李江波 发表于 2016-7-20 11:24
第一个是字符串,第二个是一维数组,第一个可以输入50个字符之内,第二个只是数组第一个数字 ...

感谢回复
作者: gdutyong    时间: 2016-7-21 17:28
18222929637 发表于 2016-7-20 20:47
其实很好理解的,c语言中字符数组可以单个输入与输出,用%c或者它的ascll码%d,也可以用字符串的形式输入 ...

666666666666
作者: 瑜尚    时间: 2016-7-21 18:41
gdutyong 发表于 2016-7-21 17:28
666666666666

确实很6




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2