Devdit
 

format %s expects argument of type char คือ วิธีแก้ไข

1.2K

เขียนภาษาซี ต้องการรับค่าตัวแปรข้อความด้วยคำสั่ง scanf แต่รันแล้วขึ้นข้อความแจ้งเตือนว่า warning: format %s expects argument of type char *, but argument 2 has type char อยากทราบวิธีแก้ไข โค้ดตัวอย่างบางส่วนตามด้านล่าง

#include <stdio.h>

void main() {
    char name[50];
    printf("Hello what is your name ??");
    scanf("%s", &name);
}

 

วิธีแก้ไข

ปัญหานี้เกิดจากการรับค่าตัวแปรข้อความชนิด char แบบ array ไม่ต้องใส่อักษร & ที่หน้าตัวแปร จากตัวอย่างตรงคำสั่ง scanf ตัวแปร name ให้นำตัวอักษร & ออกและลองรันใหม่อีกครั้ง สามารถแก้ไขโค้ดได้ดังนี้

#include <stdio.h>

void main() {
    char name[50];
    printf("Hello what is your name ??");
    scanf("%s", name);
}
เขียน 2 ปีที่แล้ว
ชอบ
ลิ้งก์
แชร์
Devdit มีช่อง YouTube แล้ว
เราสร้างวิดีโอเกี่ยวกับเทคโนโลยี ทำตามง่ายๆ