#include<stdio.h>
int main(void)
{
char name1,name2;
printf("輸入你的姓:");
scanf("%s",name1);
printf("輸入你的名:);
scanf("%s",name2);
printf("%s,%s",name1,name2);
return 0;
}
各位大神能否替晚輩看一下
為何最后一個(gè)printf始終無法輸出?
6 回答
已采納

望遠(yuǎn)
TA貢獻(xiàn)1017條經(jīng)驗(yàn) 獲得超1032個(gè)贊
#include<stdio.h>? int?main(void)? {? ????char?name1[10],name2[10]; ?????printf("輸入你的姓:");? ?????scanf("%s",name1); ?????printf("輸入你的名:");? ?????scanf("%s",name2); ?????printf("%s,%s",name1,name2);? ?????return?0; ?}
注意英文符號(hào)
數(shù)組名是數(shù)組首地址,不用加上&,而普通的char類型數(shù)據(jù)輸入要加&取地址

灬elliott
TA貢獻(xiàn)63條經(jīng)驗(yàn) 獲得超17個(gè)贊
scanf里面輸入名字的時(shí)候要用取地址符號(hào)&, ? 也就是 ? ?scnaf("%s",&name1); ??scnaf("%s",&name2);

西蘭花偉大炮
TA貢獻(xiàn)376條經(jīng)驗(yàn) 獲得超318個(gè)贊
#include<stdio.h> int?main(void)?{ ????char?name1[10],name2[10]; ????printf("輸入你的姓:"); ????scanf("%s",&name1); ????printf("輸入你的名:"); ????scanf("%s",&name2); ????printf("%s?%s",name1,name2); ????system("pause"); ????return?0; }
這樣是可以的

慕的地6079101
TA貢獻(xiàn)3593條經(jīng)驗(yàn) 獲得超1個(gè)贊

碼上
TA貢獻(xiàn)1條經(jīng)驗(yàn) 獲得超0個(gè)贊
看了大家的回復(fù)后我明白了,&是取地址符,而name[10]是一個(gè)數(shù)組的首地址,是已知的,所以不需要取這個(gè)地址,也就不用&。還有只用char,是定義一個(gè)字符,而char[]才是定義一個(gè)字符串。
- 6 回答
- 1 關(guān)注
- 1894 瀏覽
添加回答
舉報(bào)
0/150
提交
取消