[英]My 'c' code prints weird stuff after printing the required output
我的代碼是關於說一個關於柏林的句子..這句話的一部分以“柏林”開頭,另一部分來自用戶的標准輸入..打印輸出后..我得到奇怪的隨機東西,比如“w$
這是我的代碼:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main (){
#define MAX 1000
char arr [MAX] ;
char star [] = "Berlin ";
int i = 0;
while ((arr[i] = getchar()) != '\n') {
i++;
}
printf("%s%s", star,arr);
return 0;
}
您尚未為arr
包含空終止符(因為您使用%s
將其打印為 C 字符串)。
添加
arr[i] = 0;
在 while 循環之后。
還有兩個潛在的問題:
arr
可能會溢出。getchar()
可以在輸入失敗時返回EOF
,您需要考慮到這一點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.