使用scanf语句需要注意一个小问题,新人值得一看把
这个问题我刚开始是觉得没什么的,肯定不会出错的,结果一编写出错了,找了半天还找不到,所以我觉得这个问题需要引起新手的注意在使用scanf语句的时候,里面的取地址符一定要加上,不然运行会出现逻辑错误,因为编译器在编译的时候是不会报错的,单步调试的时候就会运行到这个语句就结束的 不一定哦
如果是char数组就不用= = 黑龍 发表于 2016-8-19 14:51
不一定哦
如果是char数组就不用= =
使用scanf输入,用char数组作为地址可以不用取地址符?
为什么?是因为char数组本身就指向地址了吗? 轮回的夏 发表于 2016-8-19 14:56
使用scanf输入,用char数组作为地址可以不用取地址符?
为什么?是因为char数组本身就指向地址了吗?
是啊 黑龍 发表于 2016-8-19 14:51
不一定哦
如果是char数组就不用= =
我刚刚试了一下,你说的不行哦,还是说我理解错意思了
#include<stdio.h>
void main()
{
int i ;
char a ;
printf("Please input 10 integer numbers:");
for( i =0 ; i < 10 ; i ++)
{
scanf("%d", a);
}
putchar('\n');
} 轮回的夏 发表于 2016-8-19 15:03
我刚刚试了一下,你说的不行哦,还是说我理解错意思了
{:5_99:}不是 我是说直接这样
char a;
scanf("%s",a); 轮回的夏 发表于 2016-8-19 15:03
我刚刚试了一下,你说的不行哦,还是说我理解错意思了
{:5_99:}不是 我是说直接这样
char a;
scanf("%s",a); 黑龍 发表于 2016-8-19 15:48
不是 我是说直接这样
char a;
scanf("%s",a);
原来如此,输出一个字符串,其他的情况还是要加取地址符的。
呵呵,吓我一跳,
页:
[1]