什么时候scanf("%d",&a)中不用写&

当输入是a为数组时,a本身就是一个地址头,此时不需要加&,但是加上&也不会报错。

#include<iostream>
using namespace std;
int main()
{
    
    
    freopen("1.txt","r",stdin);
    //freopen("2.txt","w",stdout);
    char a[100] = {
    
    0};

    scanf("%s",a);

    printf("%s",a);

}

OR

#include<iostream>
using namespace std;
int main()
{
    
    
    freopen("1.txt","r",stdin);
    //freopen("2.txt","w",stdout);
    char a[100] = {
    
    0};

    scanf("%s",&a);

    printf("%s",a);

}

都是可以的

猜你喜欢

转载自blog.csdn.net/dghcs18/article/details/103493686